In [ ]:
. ./nbs_header.ps1
. ./core.ps1
In [ ]:
{ . "$ScriptDir/../apps/builder/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DibParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsec.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsecCS.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FParsec
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## escapeCell (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline escapeCell input =
input
|> String.split [[| '\n' |]]
|> Array.map (function
| line when line |> String.startsWith "\\#!" || line |>
String.startsWith "\\#r" ->
System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")
| line -> line
)
|> String.concat "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
$"a{nl}\\#!magic{nl}b{nl}"
|> escapeCell
|> _equal (
$"a{nl}#!magic{nl}b{nl}"
)
╭─[ 55.73ms - stdout ]─────────────────────────────────────────────────────────╮
│ a │
│ #!magic │
│ b │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicMarker │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicMarker : Parser<string, unit> = pstring "#!"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic"
|> run magicMarker
|> _equal (
Success ("#!", (), Position ("", 2, 1, 3))
)
╭─[ 45.49ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #! │
│ Item2: <null> │
│ Item3: Position │
│ Index: 2 │
│ Line: 1 │
│ Column: 3 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"##!magic"
|> run magicMarker
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 63.95ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ ##!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicCommand =
magicMarker
>>. manyTill anyChar newline
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a"
|> run magicCommand
|> _equal (
Success ("magic", (), Position ("", 8, 2, 1))
)
╭─[ 37.45ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: magic │
│ Item2: <null> │
│ Item3: Position │
│ Index: 8 │
│ Line: 2 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" #!magic
a"
|> run magicCommand
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 39.69ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ #!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## content │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let content =
(newline >>. magicMarker) <|> (eof >>. preturn "")
|> attempt
|> lookAhead
|> manyTill anyChar
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run content
|> _equal (
Success ("#!magic
a", (), Position ("", 14, 7, 1))
)
╭─[ 31.59ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #!magic │
│ │
│ │
│ a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Block =
{
magic : string
content : string
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let block =
pipe2
magicCommand
content
(fun magic content ->
{
magic = magic
content = content
})
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run block
|> _equal (
Success (
{ magic = "magic"; content = "a" },
(),
Position ("", 14, 7, 1)
)
)
╭─[ 43.65ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: Block │
│ magic: magic │
│ content: a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## blocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let blocks =
skipMany newline
>>. sepEndBy block (skipMany1 newline)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic1
a
\#!magic2
b
"
|> escapeCell
|> run blocks
|> _equal (
Success (
[[
{ magic = "magic1"; content = "a" }
{ magic = "magic2"; content = "b" }
]],
(),
Position ("", 26, 9, 1)
)
)
╭─[ 49.56ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: FSharpList<Block> │
│ - magic: magic1 │
│ content: a │
│ - magic: magic2 │
│ content: b │
│ Item2: <null> │
│ Item3: Position │
│ Index: 26 │
│ Line: 9 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Output │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Output =
| Fs
| Md
| Spi
| Spir
let inline kernelOutputs magic =
match magic with
| "fsharp" -> [[ Fs ]]
| "markdown" -> [[ Md ]]
| "spiral" -> [[ Spi; Spir ]]
| _ -> [[]]
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlock │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlock output (block : Block) =
match output, block with
| output, { magic = "markdown"; content = content } ->
let markdownComment =
match output with
| Spi | Spir -> "// // "
| Fs -> "/// "
| _ -> ""
content
|> String.split [[| '\n' |]]
|> Array.map (String.trimEnd [[||]])
|> Array.filter (String.endsWith " (test)" >> not)
|> Array.map (function
| "" -> markdownComment |> String.trim
| line -> System.Text.RegularExpressions.Regex.Replace (line,
"^\\s*", $"$&{markdownComment}")
)
|> String.concat "\n"
| Fs, { magic = "fsharp"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "//// test" || trimmedContent |>
String.startsWith "//// ignore"
then ""
else
content
|> String.split [[| '\n' |]]
|> Array.filter (String.trimStart [[||]] >> String.startsWith "#r"
>> not)
|> String.concat "\n"
| (Spi | Spir), { magic = "spiral"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "// // test" || trimmedContent |>
String.startsWith "// // ignore"
then ""
else content
| _ -> ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
c
\#!markdown
c
\#!fsharp
let a = 1"
|> escapeCell
|> run block
|> function
| Success (block, _, _) -> formatBlock Fs block
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
///
/// c"
╭─[ 60.85ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ /// │
│ /// c │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlocks output blocks =
blocks
|> List.map (formatBlock output)
|> List.filter ((<>) "")
|> String.concat "\n\n"
|> fun s -> s + "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
\#!markdown
c
\#!fsharp
let a = 1
\#!markdown
d (test)
\#!fsharp
//// test
let a = 2
\#!markdown
e
\#!fsharp
let a = 3"
|> escapeCell
|> run blocks
|> function
| Success (blocks, _, _) -> formatBlocks Fs blocks
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
/// c
let a = 1
/// e
let a = 3
"
╭─[ 64.41ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ │
│ /// c │
│ │
│ let a = 1 │
│ │
│ /// e │
│ │
│ let a = 3 │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parse │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parse output input =
match run blocks input with
| Success (blocks, _, _) ->
let blocks =
blocks
|> List.filter (fun block ->
block.magic |> kernelOutputs |> List.contains output ||
block.magic = "markdown"
)
match blocks with
| { magic = "markdown"; content = content } :: _
when output = Fs
&& content |> String.startsWith "# "
&& content |> String.endsWith ")"
->
let inline indentBlock (block : Block) =
{ block with
content =
block.content
|> String.split [[| '\n' |]]
|> Array.fold
(fun (lines, isMultiline) line ->
let trimmedLine = line |> String.trim
if trimmedLine = ""
then "" :: lines, isMultiline
else
let inline singleQuoteLine () =
trimmedLine |> Seq.sumBy ((=) '"' >>
System.Convert.ToInt32) = 1
&& trimmedLine |> String.contains
@"'""'" |> not
&& trimmedLine |> String.endsWith "{" |>
not
&& trimmedLine |> String.endsWith "{|"
|> not
&& trimmedLine |> String.startsWith "}"
|> not
&& trimmedLine |> String.startsWith "|}"
|> not
match isMultiline, trimmedLine |>
String.splitString [[| $"{q}{q}{q}" |]] with
| false, [[| _; _ |]] ->
$" {line}" :: lines, true
| true, [[| _; _ |]] ->
line :: lines, false
| false, _ when singleQuoteLine () ->
$" {line}" :: lines, true
| false, _ when line |> String.startsWith
"#" && block.magic = "fsharp" ->
line :: lines, false
| false, _ ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () && line |>
String.startsWith " " ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () ->
line :: lines, false
| true, _ ->
line :: lines, true
)
([[]], false)
|> fst
|> List.rev
|> String.concat "\n"
}
let moduleName, namespaceName =
System.Text.RegularExpressions.Regex.Match (content, @"# (.*)
\((.*)\)$")
|> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value
let moduleBlock =
{
magic = "fsharp"
content =
$"#if !INTERACTIVE
namespace {namespaceName}
#endif
module {moduleName} ="
}
blocks
|> List.indexed
|> List.fold
(fun blocks (index, block) ->
match index with
| 0 -> blocks
| 1 -> indentBlock block :: moduleBlock :: blocks
| _ -> indentBlock block :: blocks
)
[[]]
|> List.rev
| _ -> blocks
|> Result.Ok
| Failure (errorMsg, _, _) -> Result.Error errorMsg
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 =
$"""#!meta
{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":
"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}
\#!markdown
# TestModule (TestNamespace)
\#!fsharp
\#!import file.dib
\#!fsharp
\#r "nuget:Expecto"
\#!markdown
## ParserLibrary
\#!fsharp
open System
\#!markdown
## x (test)
\#!fsharp
//// ignore
let x = 1
\#!spiral
// // test
inl x = 0i32
\#!spiral
inl x = 0i32
\#!markdown
### TextInput
\#!fsharp
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
\#!fsharp
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}"""
|> escapeCell
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Fs
|> Result.toOption
|> Option.get
|> (formatBlocks Fs)
|> _equal $"""#if !INTERACTIVE
namespace TestNamespace
#endif
module TestModule =
/// ## ParserLibrary
open System
/// ### TextInput
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}
"""
╭─[ 159.29ms - stdout ]────────────────────────────────────────────────────────╮
│ #if !INTERACTIVE │
│ namespace TestNamespace │
│ #endif │
│ │
│ module TestModule = │
│ │
│ /// ## ParserLibrary │
│ │
│ open System │
│ │
│ /// ### TextInput │
│ │
│ let str1 = "abc │
│ def" │
│ │
│ let str2 = │
│ "abc\ │
│ def" │
│ │
│ let str3 = │
│ $"1{ │
│ 1 │
│ }1" │
│ │
│ let str4 = │
│ $"1{({| │
│ a = 1 │
│ |}).a}1" │
│ │
│ let str5 = │
│ "abc \ │
│ def" │
│ │
│ let x = │
│ match '"' with │
│ | '"' -> true │
│ | _ -> false │
│ │
│ let long1 = """a""" │
│ │
│ let long2 = │
│ """ │
│ a │
│ """ │
│ │
│ type Position = │
│ { │
│ #if INTERACTIVE │
│ line : string │
│ #else │
│ line : int │
│ #endif │
│ column : int │
│ } │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Md
|> Result.toOption
|> Option.get
|> (formatBlocks Md)
|> _equal "# TestModule (TestNamespace)
## ParserLibrary
### TextInput
"
╭─[ 146.72ms - stdout ]────────────────────────────────────────────────────────╮
│ # TestModule (TestNamespace) │
│ │
│ ## ParserLibrary │
│ │
│ ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Spi
|> Result.toOption
|> Option.get
|> (formatBlocks Spi)
|> _equal "// // # TestModule (TestNamespace)
// // ## ParserLibrary
inl x = 0i32
// // ### TextInput
"
╭─[ 145.22ms - stdout ]────────────────────────────────────────────────────────╮
│ // // # TestModule (TestNamespace) │
│ │
│ // // ## ParserLibrary │
│ │
│ inl x = 0i32 │
│ │
│ // // ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseDibCode output file = async {
let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"
trace Debug (fun () -> "parseDibCode") getLocals
let! input = file |> FileSystem.readAllTextAsync
match parse output input with
| Result.Ok blocks -> return blocks |> formatBlocks output
| Result.Error msg -> return failwith msg
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeDibCode output path = async {
let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"
trace Debug (fun () -> "writeDibCode") getLocals
let! result = parseDibCode output path
let outputPath = path |> String.replace ".dib" $".{output |> string |>
String.toLower}"
do! result |> FileSystem.writeAllTextAsync outputPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]
File of file : string * Output
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| File _ -> nameof File
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 108.64ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] <file> <fs|md|spi|spir> │
│ │
│ FILE: │
│ │
│ <file> <fs|md|spi|spir> │
│ File │
│ │
│ OPTIONS: │
│ │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let files =
argsMap.[[nameof Arguments.File]]
|> List.map (function
| Arguments.File (path, output) -> path, output
)
files
|> List.map (fun (path, output) -> path |> writeDibCode output)
|> Async.Parallel
|> Async.Ignore
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 170.97ms - return value ]──────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 183.04ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Builder.dib │
│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: Builder.dib │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Builder (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Networking.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FileSystem.Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildProject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildProject runtime path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let fileDir = fullPath |> System.IO.Path.GetDirectoryName
let extension = fullPath |> System.IO.Path.GetExtension
let getLocals () = $"fullPath: {fullPath} / {getLocals ()}"
trace Debug (fun () -> "buildProject") getLocals
match extension with
| ".fsproj" -> ()
| _ -> failwith "Invalid project file"
let runtimes =
runtime
|> Option.map List.singleton
|> Option.defaultValue [[ "linux-x64"; "win-x64" ]]
return!
runtimes
|> List.map (fun runtime -> async {
let! exitCode, _result =
Runtime.executeWithOptionsAsync
{
Command = $@"dotnet publish ""{path}"" --configuration
Release --output ../dist --runtime {runtime}"
CancellationToken = None
OnLine = None
WorkingDirectory = Some fileDir
}
return exitCode
})
|> Async.Sequential
|> Async.map Array.sum
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## persistCodeProject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline persistCodeProject packages modules dir name code = async {
let getLocals () = $"packages: {packages} / modules: {modules} / dir: {dir}
/ name: {name} / code.Length: {code |> String.length} / {getLocals ()}"
trace Debug (fun () -> "persistCodeProject") getLocals
let targetDir = dir </> "target"
System.IO.Directory.CreateDirectory targetDir |> ignore
let filePath = targetDir </> $"{name}.fs" |> System.IO.Path.GetFullPath
do! code |> FileSystem.writeAllTextExists filePath
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let modulesCode =
modules
|> List.map (fun path -> $"""<Compile Include="{repositoryRoot </>
path}" />""")
|> String.concat "\n "
let fsprojPath = targetDir </> $"{name}.fsproj"
let fsprojCode = $"""<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>preview</LangVersion>
<RollForward>Major</RollForward>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<PublishAot>false</PublishAot>
<PublishTrimmed>false</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
<SelfContained>true</SelfContained>
<Version>0.0.1-alpha.1</Version>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
{modulesCode}
<Compile Include="{filePath}" />
</ItemGroup>
<Import Project="{repositoryRoot}/.paket/Paket.Restore.targets" />
</Project>
"""
do! fsprojCode |> FileSystem.writeAllTextExists fsprojPath
let paketReferencesPath = targetDir </> "paket.references"
let paketReferencesCode =
"FSharp.Core" :: packages
|> String.concat "\n"
do! paketReferencesCode |> FileSystem.writeAllTextExists paketReferencesPath
return fsprojPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildCode runtime packages modules dir name code = async {
let! fsprojPath = code |> persistCodeProject packages modules dir name
return! fsprojPath |> buildProject runtime
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.getSourceDirectory () </> "target/test"
"1 + 1"
|> buildCode None [[]] [[]] tempFolder "test"
|> Async.runWithTimeout 60000
|> _equal (Some 0)
╭─[ 17.37s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] persistCodeProject / packages: [] / modules: [] / dir: │
│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5 │
│ 00:00:00 #2 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj │
│ 00:00:00 #3 [Debug] executeAsync / options: { Command = │
│ "dotnet publish │
│ "C:\home\git\polyglot\apps\builder\target/test\target\test.fsproj" │
│ --configuration Release --output ../dist --runtime linux-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:00 #5 [Verbose] > Determining projects to restore... │
│ 00:00:06 #6 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 4.77 │
│ sec). │
│ 00:00:06 #7 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:07 #8 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning │
│ FS0020: The result of this expression has type 'int' and is implicitly │
│ ignored. Consider using 'ignore' to discard this value explicitly, e.g. │
│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = │
│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:08 #9 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning │
│ FS0988: Main module of program is empty: nothing will happen when it is run │
│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:08 #10 [Verbose] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\target\bin\Release\net8.0\linu │
│ x-x64\test.dll │
│ 00:00:09 #11 [Verbose] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\dist\ │
│ 00:00:09 #12 [Debug] executeAsync / exitCode: 0 / output.Length: 1242 │
│ 00:00:09 #13 [Debug] executeAsync / options: { Command = │
│ "dotnet publish │
│ "C:\home\git\polyglot\apps\builder\target/test\target\test.fsproj" │
│ --configuration Release --output ../dist --runtime win-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:10 #14 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:10 #15 [Verbose] > Determining projects to restore... │
│ 00:00:11 #16 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 315 │
│ ms). │
│ 00:00:11 #17 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:13 #18 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning │
│ FS0020: The result of this expression has type 'int' and is implicitly │
│ ignored. Consider using 'ignore' to discard this value explicitly, e.g. │
│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = │
│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:13 #19 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning │
│ FS0988: Main module of program is empty: nothing will happen when it is run │
│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:13 #20 [Verbose] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\target\bin\Release\net8.0\win- │
│ x64\test.dll │
│ 00:00:16 #21 [Verbose] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\dist\ │
│ 00:00:16 #22 [Debug] executeAsync / exitCode: 0 / output.Length: 1238 │
│ FSharpOption<Int32> │
│ Value: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.getSourceDirectory () </> "target/test"
"1 + a"
|> buildCode None [[]] [[]] tempFolder "test"
|> Async.runWithTimeout 60000
|> _equal (Some 2)
╭─[ 7.44s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:17 #23 [Debug] persistCodeProject / packages: [] / modules: [] / dir: │
│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5 │
│ 00:00:17 #24 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj │
│ 00:00:17 #25 [Debug] executeAsync / options: { Command = │
│ "dotnet publish │
│ "C:\home\git\polyglot\apps\builder\target/test\target\test.fsproj" │
│ --configuration Release --output ../dist --runtime linux-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:17 #26 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:18 #27 [Verbose] > Determining projects to restore... │
│ 00:00:18 #28 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 311 │
│ ms). │
│ 00:00:18 #29 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:20 #30 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error │
│ FS0039: The value or constructor 'a' is not defined. [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:20 #31 [Debug] executeAsync / exitCode: 1 / output.Length: 684 │
│ 00:00:20 #32 [Debug] executeAsync / options: { Command = │
│ "dotnet publish │
│ "C:\home\git\polyglot\apps\builder\target/test\target\test.fsproj" │
│ --configuration Release --output ../dist --runtime win-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:20 #33 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:21 #34 [Verbose] > Determining projects to restore... │
│ 00:00:22 #35 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 398 │
│ ms). │
│ 00:00:22 #36 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:24 #37 [Verbose] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error │
│ FS0039: The value or constructor 'a' is not defined. [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:24 #38 [Debug] executeAsync / exitCode: 1 / output.Length: 684 │
│ FSharpOption<Int32> │
│ Value: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## readFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline readFile path = async {
let! code = path |> FileSystem.readAllTextAsync
let code = System.Text.RegularExpressions.Regex.Replace (
code,
@"( *)(let\s+main\s+.*?\s*=)",
fun m -> m.Groups.[[1]].Value + "[[<EntryPoint>]]\n" +
m.Groups.[[1]].Value + m.Groups.[[2]].Value
)
return
if code |> String.endsWith "\n()\n"
then code |> String.substring 0 ((code |> String.length) - 3)
else code
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildFile runtime packages modules path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let dir = fullPath |> System.IO.Path.GetDirectoryName
let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension
let! code = fullPath |> readFile
return! code |> buildCode runtime packages modules dir name
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## persistFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline persistFile packages modules path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let dir = fullPath |> System.IO.Path.GetDirectoryName
let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension
let! code = fullPath |> readFile
return! code |> persistCodeProject packages modules dir name
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce>]]
Path of path : string
| [[<Argu.ArguAttributes.Unique>]] Packages of packages : string list
| [[<Argu.ArguAttributes.Unique>]] Modules of modules : string list
| [[<Argu.ArguAttributes.Unique>]] Runtime of runtime : string
| [[<Argu.ArguAttributes.Unique>]] Persist_Only
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Path _ -> nameof Path
| Packages _ -> nameof Packages
| Modules _ -> nameof Modules
| Runtime _ -> nameof Runtime
| Persist_Only -> nameof Persist_Only
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 147.95ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] [--packages [<packages>...]] │
│ [--modules [<modules>...]] [--runtime <runtime>] │
│ [--persist-only] <path> │
│ │
│ PATH: │
│ │
│ <path> Path │
│ │
│ OPTIONS: │
│ │
│ --packages [<packages>...] │
│ Packages │
│ --modules [<modules>...] │
│ Modules │
│ --runtime <runtime> Runtime │
│ --persist-only Persist_Only │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let path =
match argsMap.[[nameof Arguments.Path]] with
| [[ Arguments.Path path ]] -> Some path
| _ -> None
|> Option.get
let packages =
match argsMap |> Map.tryFind (nameof Arguments.Packages) with
| Some [[ Arguments.Packages packages ]] -> packages
| _ -> [[]]
let modules =
match argsMap |> Map.tryFind (nameof Arguments.Modules) with
| Some [[ Arguments.Modules modules ]] -> modules
| _ -> [[]]
let runtime =
match argsMap |> Map.tryFind (nameof Arguments.Runtime) with
| Some [[ Arguments.Runtime runtime ]] -> Some runtime
| _ -> None
let persistOnly = argsMap |> Map.containsKey (nameof Arguments.Persist_Only)
if persistOnly
then path |> persistFile packages modules |> Async.map (fun _ -> 0)
else path |> buildFile runtime packages modules
|> Async.runWithTimeout 60000
|> function
| Some exitCode -> exitCode
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 20.64s - return value ]────────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 20.65s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:26 #39 [Debug] persistCodeProject / packages: [Argu; │
│ FSharp.Control.AsyncSeq; System.CommandLine; ... ] / modules: [ │
│ lib/fsharp/Common.fs; lib/fsharp/CommonFSharp.fs; lib/fsharp/Async.fs; ... ] │
│ / dir: C:\home\git\polyglot\apps\builder / name: Builder / code.Length: 6948 │
│ 00:00:26 #40 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj │
│ 00:00:26 #41 [Debug] executeAsync / options: { Command = │
│ "dotnet publish "C:\home\git\polyglot\apps\builder\target\Builder.fsproj" │
│ --configuration Release --output ../dist --runtime linux-x64" │
│ WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:26 #42 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:27 #43 [Verbose] > Determining projects to restore... │
│ 00:00:28 #44 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 415 ms). │
│ 00:00:28 #45 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj] │
│ 00:00:34 #46 [Verbose] > Builder -> │
│ C:\home\git\polyglot\apps\builder\target\bin\Release\net8.0\linux-x64\Builde │
│ r.dll │
│ 00:00:35 #47 [Verbose] > Builder -> │
│ C:\home\git\polyglot\apps\builder\dist\ │
│ 00:00:35 #48 [Debug] executeAsync / exitCode: 0 / output.Length: 621 │
│ 00:00:35 #49 [Debug] executeAsync / options: { Command = │
│ "dotnet publish "C:\home\git\polyglot\apps\builder\target\Builder.fsproj" │
│ --configuration Release --output ../dist --runtime win-x64" │
│ WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:35 #50 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb │
│ for .NET │
│ 00:00:36 #51 [Verbose] > Determining projects to restore... │
│ 00:00:37 #52 [Verbose] > Restored │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 391 ms). │
│ 00:00:37 #53 [Verbose] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj] │
│ 00:00:43 #54 [Verbose] > Builder -> │
│ C:\home\git\polyglot\apps\builder\target\bin\Release\net8.0\win-x64\Builder. │
│ dll │
│ 00:00:46 #55 [Verbose] > Builder -> │
│ C:\home\git\polyglot\apps\builder\dist\ │
│ 00:00:46 #56 [Debug] executeAsync / exitCode: 0 / output.Length: 619 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Builder.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 327079 bytes to Builder.dib.html
In [ ]:
{ . "$ScriptDir/../apps/parser/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DibParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsec.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsecCS.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FParsec
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## escapeCell (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline escapeCell input =
input
|> String.split [[| '\n' |]]
|> Array.map (function
| line when line |> String.startsWith "\\#!" || line |>
String.startsWith "\\#r" ->
System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")
| line -> line
)
|> String.concat "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
$"a{nl}\\#!magic{nl}b{nl}"
|> escapeCell
|> _equal (
$"a{nl}#!magic{nl}b{nl}"
)
╭─[ 55.96ms - stdout ]─────────────────────────────────────────────────────────╮
│ a │
│ #!magic │
│ b │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicMarker │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicMarker : Parser<string, unit> = pstring "#!"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic"
|> run magicMarker
|> _equal (
Success ("#!", (), Position ("", 2, 1, 3))
)
╭─[ 48.04ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #! │
│ Item2: <null> │
│ Item3: Position │
│ Index: 2 │
│ Line: 1 │
│ Column: 3 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"##!magic"
|> run magicMarker
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 56.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ ##!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicCommand =
magicMarker
>>. manyTill anyChar newline
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a"
|> run magicCommand
|> _equal (
Success ("magic", (), Position ("", 8, 2, 1))
)
╭─[ 35.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: magic │
│ Item2: <null> │
│ Item3: Position │
│ Index: 8 │
│ Line: 2 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" #!magic
a"
|> run magicCommand
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 38.62ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ #!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## content │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let content =
(newline >>. magicMarker) <|> (eof >>. preturn "")
|> attempt
|> lookAhead
|> manyTill anyChar
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run content
|> _equal (
Success ("#!magic
a", (), Position ("", 14, 7, 1))
)
╭─[ 34.40ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #!magic │
│ │
│ │
│ a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Block =
{
magic : string
content : string
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let block =
pipe2
magicCommand
content
(fun magic content ->
{
magic = magic
content = content
})
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run block
|> _equal (
Success (
{ magic = "magic"; content = "a" },
(),
Position ("", 14, 7, 1)
)
)
╭─[ 40.72ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: Block │
│ magic: magic │
│ content: a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## blocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let blocks =
skipMany newline
>>. sepEndBy block (skipMany1 newline)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic1
a
\#!magic2
b
"
|> escapeCell
|> run blocks
|> _equal (
Success (
[[
{ magic = "magic1"; content = "a" }
{ magic = "magic2"; content = "b" }
]],
(),
Position ("", 26, 9, 1)
)
)
╭─[ 46.42ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: FSharpList<Block> │
│ - magic: magic1 │
│ content: a │
│ - magic: magic2 │
│ content: b │
│ Item2: <null> │
│ Item3: Position │
│ Index: 26 │
│ Line: 9 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Output │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Output =
| Fs
| Md
| Spi
| Spir
let inline kernelOutputs magic =
match magic with
| "fsharp" -> [[ Fs ]]
| "markdown" -> [[ Md ]]
| "spiral" -> [[ Spi; Spir ]]
| _ -> [[]]
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlock │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlock output (block : Block) =
match output, block with
| output, { magic = "markdown"; content = content } ->
let markdownComment =
match output with
| Spi | Spir -> "// // "
| Fs -> "/// "
| _ -> ""
content
|> String.split [[| '\n' |]]
|> Array.map (String.trimEnd [[||]])
|> Array.filter (String.endsWith " (test)" >> not)
|> Array.map (function
| "" -> markdownComment |> String.trim
| line -> System.Text.RegularExpressions.Regex.Replace (line,
"^\\s*", $"$&{markdownComment}")
)
|> String.concat "\n"
| Fs, { magic = "fsharp"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "//// test" || trimmedContent |>
String.startsWith "//// ignore"
then ""
else
content
|> String.split [[| '\n' |]]
|> Array.filter (String.trimStart [[||]] >> String.startsWith "#r"
>> not)
|> String.concat "\n"
| (Spi | Spir), { magic = "spiral"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "// // test" || trimmedContent |>
String.startsWith "// // ignore"
then ""
else content
| _ -> ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
c
\#!markdown
c
\#!fsharp
let a = 1"
|> escapeCell
|> run block
|> function
| Success (block, _, _) -> formatBlock Fs block
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
///
/// c"
╭─[ 66.81ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ /// │
│ /// c │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlocks output blocks =
blocks
|> List.map (formatBlock output)
|> List.filter ((<>) "")
|> String.concat "\n\n"
|> fun s -> s + "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
\#!markdown
c
\#!fsharp
let a = 1
\#!markdown
d (test)
\#!fsharp
//// test
let a = 2
\#!markdown
e
\#!fsharp
let a = 3"
|> escapeCell
|> run blocks
|> function
| Success (blocks, _, _) -> formatBlocks Fs blocks
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
/// c
let a = 1
/// e
let a = 3
"
╭─[ 69.52ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ │
│ /// c │
│ │
│ let a = 1 │
│ │
│ /// e │
│ │
│ let a = 3 │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parse │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parse output input =
match run blocks input with
| Success (blocks, _, _) ->
let blocks =
blocks
|> List.filter (fun block ->
block.magic |> kernelOutputs |> List.contains output ||
block.magic = "markdown"
)
match blocks with
| { magic = "markdown"; content = content } :: _
when output = Fs
&& content |> String.startsWith "# "
&& content |> String.endsWith ")"
->
let inline indentBlock (block : Block) =
{ block with
content =
block.content
|> String.split [[| '\n' |]]
|> Array.fold
(fun (lines, isMultiline) line ->
let trimmedLine = line |> String.trim
if trimmedLine = ""
then "" :: lines, isMultiline
else
let inline singleQuoteLine () =
trimmedLine |> Seq.sumBy ((=) '"' >>
System.Convert.ToInt32) = 1
&& trimmedLine |> String.contains
@"'""'" |> not
&& trimmedLine |> String.endsWith "{" |>
not
&& trimmedLine |> String.endsWith "{|"
|> not
&& trimmedLine |> String.startsWith "}"
|> not
&& trimmedLine |> String.startsWith "|}"
|> not
match isMultiline, trimmedLine |>
String.splitString [[| $"{q}{q}{q}" |]] with
| false, [[| _; _ |]] ->
$" {line}" :: lines, true
| true, [[| _; _ |]] ->
line :: lines, false
| false, _ when singleQuoteLine () ->
$" {line}" :: lines, true
| false, _ when line |> String.startsWith
"#" && block.magic = "fsharp" ->
line :: lines, false
| false, _ ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () && line |>
String.startsWith " " ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () ->
line :: lines, false
| true, _ ->
line :: lines, true
)
([[]], false)
|> fst
|> List.rev
|> String.concat "\n"
}
let moduleName, namespaceName =
System.Text.RegularExpressions.Regex.Match (content, @"# (.*)
\((.*)\)$")
|> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value
let moduleBlock =
{
magic = "fsharp"
content =
$"#if !INTERACTIVE
namespace {namespaceName}
#endif
module {moduleName} ="
}
blocks
|> List.indexed
|> List.fold
(fun blocks (index, block) ->
match index with
| 0 -> blocks
| 1 -> indentBlock block :: moduleBlock :: blocks
| _ -> indentBlock block :: blocks
)
[[]]
|> List.rev
| _ -> blocks
|> Result.Ok
| Failure (errorMsg, _, _) -> Result.Error errorMsg
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 =
$"""#!meta
{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":
"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}
\#!markdown
# TestModule (TestNamespace)
\#!fsharp
\#!import file.dib
\#!fsharp
\#r "nuget:Expecto"
\#!markdown
## ParserLibrary
\#!fsharp
open System
\#!markdown
## x (test)
\#!fsharp
//// ignore
let x = 1
\#!spiral
// // test
inl x = 0i32
\#!spiral
inl x = 0i32
\#!markdown
### TextInput
\#!fsharp
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
\#!fsharp
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}"""
|> escapeCell
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Fs
|> Result.toOption
|> Option.get
|> (formatBlocks Fs)
|> _equal $"""#if !INTERACTIVE
namespace TestNamespace
#endif
module TestModule =
/// ## ParserLibrary
open System
/// ### TextInput
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}
"""
╭─[ 172.31ms - stdout ]────────────────────────────────────────────────────────╮
│ #if !INTERACTIVE │
│ namespace TestNamespace │
│ #endif │
│ │
│ module TestModule = │
│ │
│ /// ## ParserLibrary │
│ │
│ open System │
│ │
│ /// ### TextInput │
│ │
│ let str1 = "abc │
│ def" │
│ │
│ let str2 = │
│ "abc\ │
│ def" │
│ │
│ let str3 = │
│ $"1{ │
│ 1 │
│ }1" │
│ │
│ let str4 = │
│ $"1{({| │
│ a = 1 │
│ |}).a}1" │
│ │
│ let str5 = │
│ "abc \ │
│ def" │
│ │
│ let x = │
│ match '"' with │
│ | '"' -> true │
│ | _ -> false │
│ │
│ let long1 = """a""" │
│ │
│ let long2 = │
│ """ │
│ a │
│ """ │
│ │
│ type Position = │
│ { │
│ #if INTERACTIVE │
│ line : string │
│ #else │
│ line : int │
│ #endif │
│ column : int │
│ } │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Md
|> Result.toOption
|> Option.get
|> (formatBlocks Md)
|> _equal "# TestModule (TestNamespace)
## ParserLibrary
### TextInput
"
╭─[ 155.31ms - stdout ]────────────────────────────────────────────────────────╮
│ # TestModule (TestNamespace) │
│ │
│ ## ParserLibrary │
│ │
│ ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Spi
|> Result.toOption
|> Option.get
|> (formatBlocks Spi)
|> _equal "// // # TestModule (TestNamespace)
// // ## ParserLibrary
inl x = 0i32
// // ### TextInput
"
╭─[ 154.71ms - stdout ]────────────────────────────────────────────────────────╮
│ // // # TestModule (TestNamespace) │
│ │
│ // // ## ParserLibrary │
│ │
│ inl x = 0i32 │
│ │
│ // // ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseDibCode output file = async {
let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"
trace Debug (fun () -> "parseDibCode") getLocals
let! input = file |> FileSystem.readAllTextAsync
match parse output input with
| Result.Ok blocks -> return blocks |> formatBlocks output
| Result.Error msg -> return failwith msg
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeDibCode output path = async {
let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"
trace Debug (fun () -> "writeDibCode") getLocals
let! result = parseDibCode output path
let outputPath = path |> String.replace ".dib" $".{output |> string |>
String.toLower}"
do! result |> FileSystem.writeAllTextAsync outputPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]
File of file : string * Output
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| File _ -> nameof File
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 123.63ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] <file> <fs|md|spi|spir> │
│ │
│ FILE: │
│ │
│ <file> <fs|md|spi|spir> │
│ File │
│ │
│ OPTIONS: │
│ │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let files =
argsMap.[[nameof Arguments.File]]
|> List.map (function
| Arguments.File (path, output) -> path, output
)
files
|> List.map (fun (path, output) -> path |> writeDibCode output)
|> Async.Parallel
|> Async.Ignore
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 163.11ms - return value ]──────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 175.63ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: DibParser.dib │
│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: DibParser.dib │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook DibParser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 365540 bytes to DibParser.dib.html
00:00:00 #1 [Debug] persistCodeProject / packages: [Argu; FParsec; FSharp.Control.AsyncSeq; ... ] / modules: [lib/fsharp/Common.fs; lib/fsharp/CommonFSharp.fs; lib/fsharp/Async.fs; ... ] / dir: C:\home\git\polyglot\apps\parser / name: DibParser / code.Length: 9066
00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\parser\target\DibParser.fsproj
00:00:00 #3 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\parser\target\DibParser.fsproj" --configuration Release --output ../dist --runtime linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"
CancellationToken = None
OnLine = None }
00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:00 #5 [Verbose] > Determining projects to restore...
00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 365 ms).
00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]
00:00:07 #8 [Verbose] > DibParser -> C:\home\git\polyglot\apps\parser\target\bin\Release\net8.0\linux-x64\DibParser.dll
00:00:08 #9 [Verbose] > DibParser -> C:\home\git\polyglot\apps\parser\dist\
00:00:08 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 627
00:00:08 #11 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\parser\target\DibParser.fsproj" --configuration Release --output ../dist --runtime win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"
CancellationToken = None
OnLine = None }
00:00:09 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:09 #13 [Verbose] > Determining projects to restore...
00:00:10 #14 [Verbose] > Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 390 ms).
00:00:10 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]
00:00:17 #16 [Verbose] > DibParser -> C:\home\git\polyglot\apps\parser\target\bin\Release\net8.0\win-x64\DibParser.dll
00:00:20 #17 [Verbose] > DibParser -> C:\home\git\polyglot\apps\parser\dist\
00:00:20 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 625
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # JsonParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import Parser.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Parser =
open Common
/// ### TextInput
type Position =
{
line : int
column : int
}
let initialPos = { line = 0; column = 0 }
let inline incrCol (pos : Position) =
{ pos with column = pos.column + 1 }
let inline incrLine pos =
{ line = pos.line + 1; column = 0 }
type InputState =
{
lines : string[[]]
position : Position
}
let inline fromStr str =
{
lines =
if str |> String.IsNullOrEmpty
then [[||]]
else str |> String.splitString [[| "\r\n"; "\n" |]]
position = initialPos
}
...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open Parser
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## JsonParser │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
(*
// --------------------------------
JSON spec from http://www.json.org/
// --------------------------------
The JSON spec is available at [[json.org]](http://www.json.org/). I'll paraphase
it here:
* A `value` can be a `string` or a `number` or a `bool` or `null` or an `object`
or an `array`.
* These structures can be nested.
* A `string` is a sequence of zero or more Unicode characters, wrapped in double
quotes, using backslash escapes.
* A `number` is very much like a C or Java number, except that the octal and
hexadecimal formats are not used.
* A `boolean` is the literal `true` or `false`
* A `null` is the literal `null`
* An `object` is an unordered set of name/value pairs.
* An object begins with { (left brace) and ends with } (right brace).
* Each name is followed by : (colon) and the name/value pairs are separated by
, (comma).
* An `array` is an ordered collection of values.
* An array begins with [[ (left bracket) and ends with ]] (right bracket).
* Values are separated by , (comma).
* Whitespace can be inserted between any pair of tokens.
*)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline parserEqual (expected : ParseResult<'a>) (actual : ParseResult<'a *
Input>) =
match actual, expected with
| Success (_actual, _), Success _expected ->
printResult actual
_actual |> _equal _expected
| Failure (l1, e1, p1), Failure (l2, e2, p2) when l1 = l2 && e1 = e2 && p1 =
p2 ->
printResult actual
| _ ->
printfn $"Actual: {actual}"
printfn $"Expected: {expected}"
failwith "Parse failed"
actual
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### JValue │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type JValue =
| JString of string
| JNumber of float
| JBool of bool
| JNull
| JObject of Map<string, JValue>
| JArray of JValue list
── fsharp ──────────────────────────────────────────────────────────────────────
let jValue, jValueRef = createParserForwardedToRef<JValue> ()
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jNull │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jNull =
pstring "null"
>>% JNull
<?> "null"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jValue "null"
|> parserEqual (Success JNull)
╭─[ 243.18ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNull, { lines = [ │
│ |"null"|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNull, { lines = [|"null"|]<br/> │
│ position = { line = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │
│ <tr></tr></thead><tbody></tbody></table></div></deta... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 252.73ms - stdout ]────────────────────────────────────────────────────────╮
│ JNull │
│ JNull │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNull "nulp"
|> parserEqual (
Failure (
"null",
"Unexpected 'p'",
{ currentLine = "nulp"; line = 0; column = 3 }
)
)
╭─[ 50.90ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("null", "Unexpected │
│ 'p'", { currentLine = "nulp"<br/> │
│ line = 0<br/> column = 3 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>null</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ 'p'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "nulp"<br/> line = 0<br/> column = 3 │
│ }</code></span></summary><div><table><thead><tr></tr></thead... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 58.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:3 Error parsing null │
│ nulp │
│ ^Unexpected 'p' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jBool │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jBool =
let jtrue =
pstring "true"
>>% JBool true
let jfalse =
pstring "false"
>>% JBool false
jtrue <|> jfalse
<?> "bool"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "true"
|> parserEqual (Success (JBool true))
╭─[ 49.55ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JBool true, { lines = [ │
│ |"true"|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JBool true, { lines = [|"true"|]<br/> │
│ position = { line = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr.. │
│ . │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 56.86ms - stdout ]─────────────────────────────────────────────────────────╮
│ JBool true │
│ JBool │
│ Item: True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "false"
|> parserEqual (Success (JBool false))
╭─[ 49.99ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JBool false, { lines = [ │
│ |"false"|]<br/> position = { line = 0<br/> │
│ column = 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JBool false, { lines = [ │
│ |"false"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ false</code></span></summary><div><table><thead><tr></tr></thead><tb... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 57.56ms - stdout ]─────────────────────────────────────────────────────────╮
│ JBool false │
│ JBool │
│ Item: False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "truX"
|> parserEqual (
Failure (
"bool",
"Unexpected 't'",
{ currentLine = "truX"; line = 0; column = 0 }
)
)
╭─[ 29.17ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("bool", "Unexpected │
│ 't'", { currentLine = "truX"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>bool</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ 't'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "truX"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 35.98ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing bool │
│ truX │
│ ^Unexpected 't' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jUnescapedChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jUnescapedChar =
satisfy (fun ch -> ch <> '\\' && ch <> '\"') "char"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnescapedChar "a"
|> parserEqual (Success 'a')
╭─[ 63.54ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('a', { lines = [ │
│ |"a"|]<br/> position = { line = 0<br/> │
│ column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(a, { lines = [|"a"|]<br/> position = │
│ { line = 0<br/> column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>a</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"a"|]<br/... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 71.18ms - stdout ]─────────────────────────────────────────────────────────╮
│ 'a' │
│ a │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnescapedChar "\\"
|> parserEqual (
Failure (
"char",
"Unexpected '\\'",
{ currentLine = "\\"; line = 0; column = 0 }
)
)
╭─[ 38.33ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("char", "Unexpected │
│ '\'", { currentLine = "\"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>char</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ '\'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "\"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbod... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 44.84ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing char │
│ \ │
│ ^Unexpected '\' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jEscapedChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jEscapedChar =
[[
("\\\"",'\"')
("\\\\",'\\')
("\\/",'/')
("\\b",'\b')
("\\f",'\f')
("\\n",'\n')
("\\r",'\r')
("\\t",'\t')
]]
|> List.map (fun (toMatch, result) ->
pstring toMatch >>% result
)
|> choice
<?> "escaped char"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "\\\\"
|> parserEqual (Success '\\')
╭─[ 40.19ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\\', { lines = [ │
│ |"\\"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br/> position │
│ = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\\"... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.68ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\\' │
│ \ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "\\t"
|> parserEqual (Success '\t')
╭─[ 33.25ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\009', { lines = [ │
│ |"\t"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>( , { lines = [|"\t"|]<br/> position = │
│ { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre> │
│ </pre></div></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"\t... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 39.84ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\009' │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar @"\\"
|> parserEqual (Success '\\')
╭─[ 32.08ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\\', { lines = [ │
│ |"\\"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br/> position │
│ = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\\"... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 38.86ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\\' │
│ \ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar @"\n"
|> parserEqual (Success '\n')
╭─[ 33.69ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\010', { lines = [ │
│ |"<br/>"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(<br/>, { lines = [|"<br/>"|]<br/> │
│ position = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre> │
│ </pre></div></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = │
│ ... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 41.00ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\010' │
│ │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "a"
|> parserEqual (
Failure (
"escaped char",
"Unexpected 'a'",
{ currentLine = "a"; line = 0; column = 0 }
)
)
╭─[ 31.18ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("escaped char", │
│ "Unexpected 'a'", { currentLine = "a"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>escaped │
│ char</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ 'a'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "a"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><tab... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 38.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing escaped char │
│ a │
│ ^Unexpected 'a' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jUnicodeChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jUnicodeChar =
let backslash = pchar '\\'
let uChar = pchar 'u'
let hexdigit = anyOf ([[ '0' .. '9' ]] @ [[ 'A' .. 'F' ]] @ [[ 'a' .. 'f'
]])
let fourHexDigits = hexdigit .>>. hexdigit .>>. hexdigit .>>. hexdigit
let inline convertToChar (((h1, h2), h3), h4) =
let str = $"%c{h1}%c{h2}%c{h3}%c{h4}"
Int32.Parse (str, Globalization.NumberStyles.HexNumber) |> char
backslash >>. uChar >>. fourHexDigits
|>> convertToChar
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnicodeChar "\\u263A"
|> parserEqual (Success '☺')
╭─[ 63.66ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('☺', { lines = [ │
│ |"\u263A"|]<br/> position = { line = 0<br/> │
│ column = 6 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(☺, { lines = [|"\u263A"|]<br/> │
│ position = { line = 0<br/> column = 6 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>☺</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\u2... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 71.19ms - stdout ]─────────────────────────────────────────────────────────╮
│ '☺' │
│ ☺ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jString │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let quotedString =
let quote = pchar '\"' <?> "quote"
let jchar = jUnescapedChar <|> jEscapedChar <|> jUnicodeChar
quote >>. manyChars jchar .>> quote
── fsharp ──────────────────────────────────────────────────────────────────────
let jString =
quotedString
|>> JString
<?> "quoted string"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"\""
|> parserEqual (Success (JString ""))
╭─[ 52.15ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "", { lines = [ │
│ |""""|]<br/> position = { line = │
│ 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "", { lines = [ │
│ |""""|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString ""</code></span></summary>... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 58.82ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "" │
│ JString │
│ Item: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"a\""
|> parserEqual (Success (JString "a"))
╭─[ 34.32ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "a", { lines = [ │
│ |""a""|]<br/> position = { line = │
│ 0<br/> column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "a", { lines = [ │
│ |""a""|]<br/> position = { line = 0<br/> │
│ column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "a"</code></span></s... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 40.66ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "a" │
│ JString │
│ Item: a │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\""
|> parserEqual (Success (JString "ab"))
╭─[ 38.72ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab", { lines = [ │
│ |""ab""|]<br/> position = { line │
│ = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab", { lines = [ │
│ |""ab""|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "ab"</code></s... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 45.89ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab" │
│ JString │
│ Item: ab │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\\tde\""
|> parserEqual (Success (JString "ab\tde"))
╭─[ 37.71ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab de", { lines = [ │
│ |""ab\tde""|]<br/> position = │
│ { line = 0<br/> column = 8 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab de", { lines = [ │
│ |""ab\tde""|]<br/> position = { line = 0<br/> │
│ column = 8 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString &quo... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 44.92ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab de" │
│ JString │
│ Item: ab de │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\\u263Ade\""
|> parserEqual (Success (JString "ab☺de"))
╭─[ 38.46ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab☺de", { lines = [ │
│ |""ab\u263Ade""|]<br/> │
│ position = { line = 0<br/> column = │
│ 12 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab☺de", { lines = [ │
│ |""ab\u263Ade""|]<br/> position = { line = 0<br/> │
│ column = 12 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JS... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 45.46ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab☺de" │
│ JString │
│ Item: ab☺de │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jNumber │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jNumber =
let optSign = opt (pchar '-')
let zero = pstring "0"
let digitOneNine =
satisfy (fun ch -> Char.IsDigit ch && ch <> '0') "1-9"
let digit =
satisfy Char.IsDigit "digit"
let point = pchar '.'
let e = pchar 'e' <|> pchar 'E'
let optPlusMinus = opt (pchar '-' <|> pchar '+')
let nonZeroInt =
digitOneNine .>>. manyChars digit
|>> fun (first, rest) -> string first + rest
let intPart = zero <|> nonZeroInt
let fractionPart = point >>. manyChars1 digit
let exponentPart = e >>. optPlusMinus .>>. manyChars1 digit
let inline (|>?) opt f =
match opt with
| None -> ""
| Some x -> f x
let inline convertToJNumber (((optSign, intPart), fractionPart), expPart) =
let signStr =
optSign
|>? string
let fractionPartStr =
fractionPart
|>? (fun digits -> "." + digits)
let expPartStr =
expPart
|>? fun (optSign, digits) ->
let sign = optSign |>? string
"e" + sign + digits
(signStr + intPart + fractionPartStr + expPartStr)
|> float
|> JNumber
optSign .>>. intPart .>>. opt fractionPart .>>. opt exponentPart
|>> convertToJNumber
<?> "number"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "123"
|> parserEqual (Success (JNumber 123.0))
╭─[ 69.99ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 0<br/> │
│ column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 0<br/> column = 3 │
│ } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.0</code></span></summary><div><table><thead><tr></tr></the... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 76.58ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.0 │
│ JNumber │
│ Item: 123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "-123"
|> parserEqual (Success (JNumber -123.0))
╭─[ 38.20ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = │
│ 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr></t... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 45.33ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "123.4"
|> parserEqual (Success (JNumber 123.4))
╭─[ 43.15ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = │
│ 0<br/> column = 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.4</code></span></summary><div><table><thead><tr></tr><... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 49.96ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.4 │
│ JNumber │
│ Item: 123.4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "-123."
|> parserEqual (Success (JNumber -123.0))
╭─[ 40.17ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123."|]<br/> position = { line = │
│ 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123."|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr><... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.74ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "00.1"
|> parserEqual (Success (JNumber 0.0))
╭─[ 49.03ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 0.0, { lines = [ │
│ |"00.1"|]<br/> position = { line = 0<br/> │
│ column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 0.0, { lines = [ │
│ |"00.1"|]<br/> position = { line = 0<br/> column = │
│ 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 0.0</code></span></summary><div><table><thead><tr></tr></thead><tbod... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 55.88ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 0.0 │
│ JNumber │
│ Item: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let jNumber_ = jNumber .>> spaces1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123"
|> parserEqual (Success (JNumber 123.0))
╭─[ 38.81ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 1<br/> column = 0 │
│ } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.0</code></span></summary><div><table><thead><tr></tr></the... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 45.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.0 │
│ JNumber │
│ Item: 123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "-123"
|> parserEqual (Success (JNumber -123.0))
╭─[ 40.52ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr></t... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.52ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "-123."
|> parserEqual (
Failure (
"number andThen many1 whitespace",
"Unexpected '.'",
{ currentLine = "-123."; line = 0; column = 4 }
)
)
╭─[ 28.64ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure<br/> ("number andThen many1 │
│ whitespace", "Unexpected '.'", { currentLine = │
│ "-123."<br/> │
│ line = 0<br/> │
│ column = 4 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1 │
│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ '.'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 35.52ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:4 Error parsing number andThen many1 whitespace │
│ -123. │
│ ^Unexpected '.' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4"
|> parserEqual (Success (JNumber 123.4))
╭─[ 38.61ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.4</code></span></summary><div><table><thead><tr></tr><... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 45.42ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.4 │
│ JNumber │
│ Item: 123.4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "00.4"
|> parserEqual (
Failure (
"number andThen many1 whitespace",
"Unexpected '0'",
{ currentLine = "00.4"; line = 0; column = 1 }
)
)
╭─[ 31.05ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure<br/> ("number andThen many1 │
│ whitespace", "Unexpected '0'", { currentLine = │
│ "00.4"<br/> │
│ line = 0<br/> │
│ column = 1 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1 │
│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ '0'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "0... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 39.05ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:1 Error parsing number andThen many1 whitespace │
│ 00.4 │
│ ^Unexpected '0' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123e4"
|> parserEqual (Success (JNumber 1230000.0))
╭─[ 41.15ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 1230000.0, { lines = [ │
│ |"123e4"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 1230000.0, { lines = [ │
│ |"123e4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 1230000.0</code></span></summary><div><tab... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.83ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 1230000.0 │
│ JNumber │
│ Item: 1230000 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4e5"
|> parserEqual (Success (JNumber 12340000.0))
╭─[ 36.44ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 12340000.0, { lines = [ │
│ |"123.4e5"|]<br/> position = { line │
│ = 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 12340000.0, { lines = [ │
│ |"123.4e5"|]<br/> position = { line = 1<br/> column │
│ = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber 12340000.0</code></span></summary>... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 43.24ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 12340000.0 │
│ JNumber │
│ Item: 12340000 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4e-5"
|> parserEqual (Success (JNumber 0.001234))
╭─[ 40.82ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 0.001234, { lines = [ │
│ |"123.4e-5"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 0.001234, { lines = [ │
│ |"123.4e-5"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 0.001234</code></span></summary><div><ta... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.22ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 0.001234 │
│ JNumber │
│ Item: 0.001234 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jArray │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jArray =
let left = pchar '[[' .>> spaces
let right = pchar ']]' .>> spaces
let comma = pchar ',' .>> spaces
let value = jValue .>> spaces
let values = sepBy value comma
between left values right
|>> JArray
<?> "array"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
jArray
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jArray "[[ 1, 2 ]]"
|> parserEqual (Success (JArray [[ JNumber 1.0; JNumber 2.0 ]]))
╭─[ 95.47ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JArray [JNumber 1.0; JNumber 2.0], { │
│ lines = [|"[ 1, 2 ]"|]<br/> │
│ position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JArray [JNumber 1.0; JNumber 2.0], { lines = [ │
│ |"[ 1, 2 ]"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span class="d... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 101.95ms - stdout ]────────────────────────────────────────────────────────╮
│ JArray [JNumber 1.0; JNumber 2.0] │
│ JArray │
│ Item: FSharpList<JValue> │
│ - Item: 1 │
│ - Item: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jArray "[[ 1, 2, ]]"
|> parserEqual (
Failure (
"array",
"Unexpected ','",
{ currentLine = "[[ 1, 2, ]]"; line = 0; column = 6 }
)
)
╭─[ 35.24ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("array", "Unexpected │
│ ','", { currentLine = "[ 1, 2, ]"<br/> │
│ line = 0<br/> column = 6 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>array</pre></div></td></tr><tr><td>Item2</td><td> │
│ <div class="dni-plaintext"><pre>Unexpected │
│ ','</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "[ 1, 2, ]"<br/> line = 0<br/> column = 6 │
│ }</code></span></summary><div><table><thead><t... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 41.72ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:6 Error parsing array │
│ [ 1, 2, ] │
│ ^Unexpected ',' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jObject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jObject =
let left = spaces >>. pchar '{' .>> spaces
let right = pchar '}' .>> spaces
let colon = pchar ':' .>> spaces
let comma = pchar ',' .>> spaces
let key = quotedString .>> spaces
let value = jValue .>> spaces
let keyValue = (key .>> colon) .>>. value
let keyValues = sepBy keyValue comma
between left keyValues right
|>> Map.ofList
|>> JObject
<?> "object"
── fsharp ──────────────────────────────────────────────────────────────────────
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
jArray
jObject
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jObject """{ "a":1, "b" : 2 }"""
|> parserEqual (
Success (
JObject (
Map.ofList [[
"a", JNumber 1.0
"b", JNumber 2.0
]]
)
)
)
╭─[ 106.68ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject (map [("a", │
│ JNumber 1.0); ("b", JNumber 2.0)]),<br/> { lines = [|"{ │
│ "a":1, "b" : 2 }"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject (map [("a", JNumber 1.0); │
│ ("b", JNumber 2.0)]), { lines = [|"{ "a":1, │
│ "b" : 2 }"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbod... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 113.67ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: a │
│ Value: JNumber │
│ Item: 1 │
│ - Key: b │
│ Value: JNumber │
│ Item: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jObject """{ "a":1, "b" : 2, }"""
|> parserEqual (
Failure (
"object",
"Unexpected ','",
{ currentLine = """{ "a":1, "b" : 2, }"""; line = 0; column = 18 }
)
)
╭─[ 40.48ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("object", "Unexpected │
│ ','", { currentLine = "{ "a":1, "b" : │
│ 2, }"<br/> line = 0<br/> │
│ column = 18 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>object</pre></div></td></tr><tr><td>Item2</td><td │
│ ><div class="dni-plaintext"><pre>Unexpected │
│ ','</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "{ "a":1, "b" : 2, }"<br/> │
│ lin... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.06ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:18 Error parsing object │
│ { "a":1, "b" : 2, } │
│ ^Unexpected ',' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jValue │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 = """{
"name" : "Scott",
"isMale" : true,
"bday" : {"year":2001, "month":12, "day":25 },
"favouriteColors" : [["blue", "green"]],
"emptyArray" : [[]],
"emptyObject" : {}
}"""
run jValue example1
|> parserEqual (
Success (
JObject (
Map.ofList [[
"name", JString "Scott"
"isMale", JBool true
"bday", JObject (
Map.ofList [[
"year", JNumber 2001.0
"month", JNumber 12.0
"day", JNumber 25.0
]]
)
"favouriteColors", JArray [[ JString "blue"; JString "green" ]]
"emptyArray", JArray [[]]
"emptyObject", JObject Map.empty
]]
)
)
)
╭─[ 200.91ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("bday",<br/> JObject<br/> (map<br/> │
│ [("day", JNumber 25.0); ("month", JNumber 12.0);<br/> │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │
│ ]);<br/> ("emptyObject", JObject (map []));<br/> │
│ ("favouriteColors", │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("bday",<br/> JObject<br/> (map<br/> [ │
│ (... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 207.67ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("bday", │
│ JObject │
│ (map │
│ [("day", JNumber 25.0); ("month", JNumber 12.0); │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray []); │
│ ("emptyObject", JObject (map [])); │
│ ("favouriteColors", JArray [JString "blue"; JString "green"]); │
│ ("isMale", JBool true); ("name", JString "Scott")]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: bday │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: day │
│ Value: JNumber 25.0 │
│ - Key: month │
│ Value: JNumber 12.0 │
│ - Key: year │
│ Value: JNumber 2001.0 │
│ - Key: emptyArray │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ │
│ - Key: emptyObject │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ │
│ - Key: favouriteColors │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: blue │
│ - Item: green │
│ - Key: isMale │
│ Value: JBool │
│ Item: True │
│ - Key: name │
│ Value: JString │
│ Item: Scott │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example2 = """{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}"""
run jValue example2
|> parserEqual (
Success (
JObject (
Map.ofList [[
"widget", JObject (
Map.ofList [[
"debug", JString "on"
"window", JObject (
Map.ofList [[
"title", JString "Sample Konfabulator Widget"
"name", JString "main_window"
"width", JNumber 500.0
"height", JNumber 500.0
]]
)
"image", JObject (
Map.ofList [[
"src", JString "Images/Sun.png"
"name", JString "sun1"
"hOffset", JNumber 250.0
"vOffset", JNumber 250.0
"alignment", JString "center"
]]
)
"text", JObject (
Map.ofList [[
"data", JString "Click Here"
"size", JNumber 36.0
"style", JString "bold"
"name", JString "text1"
"hOffset", JNumber 250.0
"vOffset", JNumber 100.0
"alignment", JString "center"
"onMouseUp", JString "sun1.opacity =
(sun1.opacity / 100) * 90;"
]]
)
]]
)
]]
)
)
)
╭─[ 338.53ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("widget",<br/> JObject<br/> (map<br/> │
│ [("debug", JString "on");<br/> │
│ ("image",<br/> JObject<br/> │
│ (map<br/> [("alignment", JString │
│ "center");<br/> │
│ ("hOffset"...</code></span></summary><div><table><thead><tr></tr>< │
│ /thead><tbody><tr><td>Item</td><td><details │
│ class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("widget",<br/> JObject<br/> (map<br/> ... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 345.87ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("widget", │
│ JObject │
│ (map │
│ [("debug", JString "on"); │
│ ("image", │
│ JObject │
│ (map │
│ [("alignment", JString "center"); ("hOffset", JNumber │
│ 250.0); │
│ ("name", JString "sun1"); ("src", JString │
│ "Images/Sun.png"); │
│ ("vOffset", JNumber 250.0)])); │
│ ("text", │
│ JObject │
│ (map │
│ [("alignment", JString "center"); │
│ ("data", JString "Click Here"); ("hOffset", JNumber │
│ 250.0); │
│ ("name", JString "text1"); │
│ ("onMouseUp", │
│ JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │
│ ("size", JNumber 36.0); ("style", JString "bold"); │
│ ("vOffset", JNumber 100.0)])); │
│ ("window", │
│ JObject │
│ (map │
│ [("height", JNumber 500.0); ("name", JString │
│ "main_window"); │
│ ("title", JString "Sample Konfabulator Widget"); │
│ ("width", JNumber 500.0)]))]))]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: widget │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: debug │
│ Value: JString "on" │
│ - Key: image │
│ Value: JObject │
│ (map │
│ [("alignment", JString "center"); ("hOffset", JNumber 250.0); │
│ ("name", JString "sun1"); ("src", JString "Images/Sun.png"); │
│ ("vOffset", JNumber 250.0)]) │
│ - Key: text │
│ Value: JObject │
│ (map │
│ [("alignment", JString "center"); ("data", JString "Click Here"); │
│ ("hOffset", JNumber 250.0); ("name", JString "text1"); │
│ ("onMouseUp", JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │
│ ("size", JNumber 36.0); ("style", JString "bold"); │
│ ("vOffset", JNumber 100.0)]) │
│ - Key: window │
│ Value: JObject │
│ (map │
│ [("height", JNumber 500.0); ("name", JString "main_window"); │
│ ("title", JString "Sample Konfabulator Widget"); ("width", JNumber │
│ 500.0)]) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example3 = """{
"string": "Hello, \"World\"!",
"escapedString": "This string contains \\/\\\\\\b\\f\\n\\r\\t\\\"\\'",
"number": 42,
"scientificNumber": 3.14e-10,
"boolean": true,
"nullValue": null,
"array": [[1, 2, 3, 4, 5]],
"unicodeString1": "프리마",
"unicodeString2": "\u0048\u0065\u006C\u006C\u006F,
\u0022\u0057\u006F\u0072\u006C\u0064\u0022!",
"specialCharacters": "!@#$%^&*()",
"emptyArray": [[]],
"emptyObject": {},
"nestedArrays": [[[[1, 2, 3]], [[4, 5, 6]]]],
"object": {
"nestedString": "Nested Value",
"nestedNumber": 3.14,
"nestedBoolean": false,
"nestedNull": null,
"nestedArray": [["a", "b", "c"]],
"nestedObject": {
"nestedProperty": "Nested Object Value"
}
},
"nestedObjects": [[
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
]]
}"""
run jValue example3
|> parserEqual (
Success (
JObject (
Map.ofList [[
"string", JString @"Hello, ""World""!"
"escapedString", JString @"This string contains
\/\\\b\f\n\r\t\""\'"
"number", JNumber 42.0
"scientificNumber", JNumber 3.14e-10
"boolean", JBool true
"nullValue", JNull
"array", JArray [[
JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber
5.0
]]
"unicodeString1", JString "프리마"
"unicodeString2", JString @"Hello, ""World""!"
"specialCharacters", JString "!@#$%^&*()"
"emptyArray", JArray [[]]
"emptyObject", JObject Map.empty
"nestedArrays", JArray [[
JArray [[ JNumber 1.0; JNumber 2.0; JNumber 3.0 ]]
JArray [[ JNumber 4.0; JNumber 5.0; JNumber 6.0 ]]
]]
"object", JObject (
Map.ofList [[
"nestedString", JString "Nested Value"
"nestedNumber", JNumber 3.14
"nestedBoolean", JBool false
"nestedNull", JNull
"nestedArray", JArray [[JString "a"; JString "b";
JString "c"]]
"nestedObject", JObject (
Map.ofList [[
"nestedProperty", JString "Nested Object Value"
]]
)
]]
)
"nestedObjects", JArray [[
JObject (Map.ofList [[ "name", JString "Alice"; "age", JNumber
25.0 ]])
JObject (Map.ofList [[ "name", JString "Bob"; "age", JNumber
30.0 ]])
]]
]]
)
)
)
╭─[ 507.64ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("array",<br/> JArray<br/> [JNumber 1.0; │
│ JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 5.0]);<br/> │
│ ("boolean", JBool true); ("emptyArray", JArray []);<br/> │
│ ("emptyObject", JObject (map []));<br/> │
│ ("escapedString", JString "This │
│ s...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("array",<br/> JArray [JNumber 1.0; JNumber 2.0; JNumber │
│ 3.0; JNumber 4.0; J... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 515.19ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("array", │
│ JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber │
│ 5.0]); │
│ ("boolean", JBool true); ("emptyArray", JArray []); │
│ ("emptyObject", JObject (map [])); │
│ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │
│ ("nestedArrays", │
│ JArray │
│ [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; │
│ JArray [JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │
│ ("nestedObjects", │
│ JArray │
│ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │
│ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │
│ ("nullValue", JNull); ("number", JNumber 42.0); ...]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: array │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: 1 │
│ - Item: 2 │
│ - Item: 3 │
│ - Item: 4 │
│ - Item: 5 │
│ - Key: boolean │
│ Value: JBool │
│ Item: True │
│ - Key: emptyArray │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ │
│ - Key: emptyObject │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ │
│ - Key: escapedString │
│ Value: JString │
│ Item: This string contains \/\\\b\f\n\r\t\"\' │
│ - Key: nestedArrays │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: [ JNumber 1.0, JNumber 2.0, JNumber 3.0 ] │
│ - Item: [ JNumber 4.0, JNumber 5.0, JNumber 6.0 ] │
│ - Key: nestedObjects │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: [ [age, JNumber 25.0], [name, JString "Alice"] ] │
│ - Item: [ [age, JNumber 30.0], [name, JString "Bob"] ] │
│ - Key: nullValue │
│ Value: JNull │
│ - Key: number │
│ Value: JNumber │
│ Item: 42 │
│ - Key: object │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: nestedArray │
│ Value: JArray [JString "a"; JString "b"; JString "c"] │
│ - Key: nestedBoolean │
│ Value: JBool false │
│ - Key: nestedNull │
│ Value: JNull │
│ - Key: nestedNumber │
│ Value: JNumber 3.14 │
│ - Key: nestedObject │
│ Value: JObject (map [("nestedProperty", JString "Nested │
│ Object Value")]) │
│ - Key: nestedString │
│ Value: JString "Nested Value" │
│ - Key: scientificNumber │
│ Value: JNumber │
│ Item: 3.14E-10 │
│ - Key: specialCharacters │
│ Value: JString │
│ Item: !@#$%^&*() │
│ - Key: string │
│ Value: JString │
│ Item: Hello, "World"! │
│ - Key: unicodeString1 │
│ Value: JString │
│ Item: 프리마 │
│ - Key: unicodeString2 │
│ Value: JString │
│ Item: Hello, "World"! │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook JsonParser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 502745 bytes to JsonParser.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Parser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### TextInput │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Position =
{
line : int
column : int
}
── fsharp ──────────────────────────────────────────────────────────────────────
let initialPos = { line = 0; column = 0 }
── fsharp ──────────────────────────────────────────────────────────────────────
let inline incrCol (pos : Position) =
{ pos with column = pos.column + 1 }
── fsharp ──────────────────────────────────────────────────────────────────────
let inline incrLine pos =
{ line = pos.line + 1; column = 0 }
── fsharp ──────────────────────────────────────────────────────────────────────
type InputState =
{
lines : string[[]]
position : Position
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline fromStr str =
{
lines =
if str |> String.IsNullOrEmpty
then [[||]]
else str |> String.splitString [[| "\r\n"; "\n" |]]
position = initialPos
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fromStr "" |> _equal {
lines = [[||]]
position = { line = 0; column = 0 }
}
╭─[ 51.71ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fromStr "Hello \n World" |> _equal {
lines = [[| "Hello "; " World" |]]
position = { line = 0; column = 0 }
}
╭─[ 29.48ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello , World ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline currentLine inputState =
let linePos = inputState.position.line
if linePos < inputState.lines.Length
then inputState.lines.[[linePos]]
else "end of file"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline nextChar input =
let linePos = input.position.line
let colPos = input.position.column
if linePos >= input.lines.Length
then input, None
else
let currentLine = currentLine input
if colPos < currentLine.Length then
let char = currentLine.[[colPos]]
let newPos = incrCol input.position
let newState = { input with position = newPos }
newState, Some char
else
let char = '\n'
let newPos = incrLine input.position
let newState = { input with position = newPos }
newState, Some char
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let newInput, charOpt = fromStr "Hello World" |> nextChar
newInput |> _equal {
lines = [[| "Hello World" |]]
position = { line = 0; column = 1 }
}
charOpt |> _equal (Some 'H')
╭─[ 47.94ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello World ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ FSharpOption<Char> │
│ Value: H │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let newInput, charOpt = fromStr "Hello\n\nWorld" |> nextChar
newInput |> _equal {
lines = [[| "Hello"; ""; "World" |]]
position = { line = 0; column = 1 }
}
charOpt |> _equal (Some 'H')
╭─[ 30.43ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello, , World ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ FSharpOption<Char> │
│ Value: H │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### Parser │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Input = InputState
type ParserLabel = string
type ParserError = string
type ParserPosition =
{
currentLine : string
line : int
column : int
}
type ParseResult<'a> =
| Success of 'a
| Failure of ParserLabel * ParserError * ParserPosition
type Parser<'a> =
{
label : ParserLabel
parseFn : Input -> ParseResult<'a * Input>
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline printResult result =
match result with
| Success (value, input) ->
printfn $"%A{value}"
| Failure (label, error, parserPos) ->
let errorLine = parserPos.currentLine
let colPos = parserPos.column
let linePos = parserPos.line
let failureCaret = $"{' ' |> string |> String.replicate colPos}^{error}"
printfn $"Line:%i{linePos} Col:%i{colPos} Error parsing
%s{label}\n%s{errorLine}\n%s{failureCaret}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runOnInput parser input =
parser.parseFn input
── fsharp ──────────────────────────────────────────────────────────────────────
let inline run parser inputStr =
runOnInput parser (fromStr inputStr)
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parserPositionFromInputState (inputState : Input) =
{
currentLine = currentLine inputState
line = inputState.position.line
column = inputState.position.column
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getLabel parser =
parser.label
── fsharp ──────────────────────────────────────────────────────────────────────
let inline setLabel parser newLabel =
{
label = newLabel
parseFn = fun input ->
match parser.parseFn input with
| Success s -> Success s
| Failure (oldLabel, err, pos) -> Failure (newLabel, err, pos)
}
── fsharp ──────────────────────────────────────────────────────────────────────
let (<?>) = setLabel
── fsharp ──────────────────────────────────────────────────────────────────────
let inline satisfy predicate label =
{
label = label
parseFn = fun input ->
let remainingInput, charOpt = nextChar input
match charOpt with
| None ->
let err = "No more input"
let pos = parserPositionFromInputState input
Failure (label, err, pos)
| Some first ->
if predicate first
then Success (first, remainingInput)
else
let err = $"Unexpected '%c{first}'"
let pos = parserPositionFromInputState input
Failure (label, err, pos)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
runOnInput parser input |> _equal (
Success (
'H',
{
lines = [[| "Hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 36.03ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - H │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "World"
let parser = satisfy (fun c -> c = 'H') "H"
runOnInput parser input |> _equal (
Failure (
"H",
"Unexpected 'W'",
{
currentLine = "World"
line = 0
column = 0
}
)
)
╭─[ 29.83ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: H │
│ Item2: Unexpected 'W' │
│ Item3: ParserPosition │
│ currentLine: World │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline bindP f p =
{
label = "unknown"
parseFn = fun input ->
match runOnInput p input with
| Failure (label, err, pos) -> Failure (label, err, pos)
| Success (value1, remainingInput) -> runOnInput (f value1)
remainingInput
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>=) p f = bindP f p
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"
runOnInput parser2 input |> _equal (
Success (
'e',
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 39.33ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - e │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "World"
let parser = satisfy (fun c -> c = 'W') "W"
let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"
runOnInput parser2 input |> _equal (
Failure (
"e",
"Unexpected 'o'",
{
currentLine = "World"
line = 0
column = 1
}
)
)
╭─[ 44.64ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: e │
│ Item2: Unexpected 'o' │
│ Item3: ParserPosition │
│ currentLine: World │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline returnP x =
{
label = $"%A{x}"
parseFn = fun input -> Success (x, input)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = returnP "Hello"
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 35.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline mapP f =
bindP (f >> returnP)
── fsharp ──────────────────────────────────────────────────────────────────────
let (<!>) = mapP
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (|>>) x f = f <!> x
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = parser |>> string
runOnInput parser2 input |> _equal (
Success (
"H",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 37.25ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - H │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline applyP fP xP =
fP >>=
fun f ->
xP >>=
fun x ->
returnP (f x)
── fsharp ──────────────────────────────────────────────────────────────────────
let (<*>) = applyP
── fsharp ──────────────────────────────────────────────────────────────────────
let inline lift2 f xP yP =
returnP f <*> xP <*> yP
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = lift2 (fun c1 c2 -> string c1 + string c2) parser parser2
runOnInput parser3 input |> _equal (
Success (
"He",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 80.98ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - He │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline andThen p1 p2 =
p1 >>=
fun p1Result ->
p2 >>=
fun p2Result ->
returnP (p1Result, p2Result)
<?> $"{getLabel p1} andThen {getLabel p2}"
── fsharp ──────────────────────────────────────────────────────────────────────
let (.>>.) = andThen
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = parser .>>. parser2
runOnInput parser3 input |> _equal (
Success (
('H', 'e'),
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 58.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - ( H, e ) │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline orElse p1 p2 =
{
label = $"{getLabel p1} orElse {getLabel p2}"
parseFn = fun input ->
match runOnInput p1 input with
| Success _ as result -> result
| Failure _ -> runOnInput p2 input
}
── fsharp ──────────────────────────────────────────────────────────────────────
let (<|>) = orElse
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'h') "h"
let parser3 = parser <|> parser2
runOnInput parser3 input |> _equal (
Success (
'h',
{
lines = [[| "hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 41.22ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - h │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline choice listOfParsers =
listOfParsers |> List.reduce (<|>)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'h') "h"
let parser3 = choice [[ parser; parser2 ]]
runOnInput parser3 input |> _equal (
Success (
'h',
{
lines = [[| "hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 41.39ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - h │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let rec sequence parserList =
match parserList with
| [[]] -> returnP [[]]
| head :: tail -> (lift2 cons) head (sequence tail)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = sequence [[ parser; parser2 ]]
runOnInput parser3 input |> _equal (
Success (
[[ 'H'; 'e' ]],
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 62.81ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e ] │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let rec parseZeroOrMore parser input =
match runOnInput parser input with
| Failure (_, _, _) ->
[[]], input
| Success (firstValue, inputAfterFirstParse) ->
let subsequentValues, remainingInput = parseZeroOrMore parser
inputAfterFirstParse
firstValue :: subsequentValues, remainingInput
── fsharp ──────────────────────────────────────────────────────────────────────
let inline many parser =
{
label = $"many {getLabel parser}"
parseFn = fun input -> Success (parseZeroOrMore parser input)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = many parser
runOnInput parser2 input |> _equal (
Success (
[[]],
{
lines = [[| "hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 36.49ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ ] │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline many1 p =
p >>=
fun head ->
many p >>=
fun tail ->
returnP (head :: tail)
<?> $"many1 {getLabel p}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = many1 parser
runOnInput parser2 input |> _equal (
Failure (
"many1 H",
"Unexpected 'h'",
{
currentLine = "hello"
line = 0
column = 0
}
)
)
╭─[ 44.77ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: many1 H │
│ Item2: Unexpected 'h' │
│ Item3: ParserPosition │
│ currentLine: hello │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline opt p =
let some = p |>> Some
let none = returnP None
(some <|> none)
<?> $"opt {getLabel p}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = opt parser
runOnInput parser2 input |> _equal (
Success (
None,
{
lines = [[| "hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 46.54ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - <null> │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (.>>) p1 p2 =
p1 .>>. p2
|> mapP fst
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>.) p1 p2 =
p1 .>>. p2
|> mapP snd
── fsharp ──────────────────────────────────────────────────────────────────────
let inline between p1 p2 p3 =
p1 >>. p2 .>> p3
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "[[Hello]]"
let parser =
between
(satisfy (fun c -> c = '[[') "[[")
(many (satisfy (fun c -> [[ 'a' .. 'z' ]] @ [[ 'A' .. 'Z' ]] |>
List.contains c) "letter"))
(satisfy (fun c -> c = ']]') "]]")
runOnInput parser input |> _equal (
Success (
[[ 'H'; 'e'; 'l'; 'l'; 'o' ]],
{
lines = [[| "[[Hello]]" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 120.56ms - stdout ]────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e, l, l, o ] │
│ - InputState │
│ lines: [ [Hello] ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sepBy1 p sep =
let sepThenP = sep >>. p
p .>>. many sepThenP
|>> fun (p, pList) -> p :: pList
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sepBy p sep =
sepBy1 p sep <|> returnP [[]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello,World"
let parser = sepBy (many (satisfy (fun c -> c <> ',') "not comma")) (satisfy
(fun c -> c = ',') "comma")
runOnInput parser input |> _equal (
Success (
[[ [[ 'H'; 'e'; 'l'; 'l'; 'o' ]]; [[ 'W'; 'o'; 'r'; 'l'; 'd'; '\n' ]]
]],
{
lines = [[| "Hello,World" |]]
position = { line = 1; column = 0 }
}
)
)
╭─[ 87.38ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - FSharpList<FSharpList<Char>> │
│ [ H, e, l, l, o ] │
│ [ W, o, r, l, d, │
│ ] │
│ - InputState │
│ lines: [ Hello,World ] │
│ position: Position │
│ line: 1 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline pchar charToMatch =
satisfy ((=) charToMatch) $"%c{charToMatch}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline anyOf listOfChars =
listOfChars
|> List.map pchar
|> choice
<?> $"anyOf %A{listOfChars}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = anyOf [[ 'H'; 'e'; 'l'; 'o' ]] |> many
runOnInput parser input |> _equal (
Success (
[[ 'H'; 'e'; 'l'; 'l'; 'o' ]],
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 40.11ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e, l, l, o ] │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline charListToStr charList =
charList |> List.toArray |> String
── fsharp ──────────────────────────────────────────────────────────────────────
let inline manyChars cp =
many cp
|>> charListToStr
── fsharp ──────────────────────────────────────────────────────────────────────
let inline manyChars1 cp =
many1 cp
|>> charListToStr
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = manyChars1 (anyOf [[ 'H'; 'e'; 'l'; 'o' ]])
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 55.28ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline pstring str =
str
|> List.ofSeq
|> List.map pchar
|> sequence
|> mapP charListToStr
<?> str
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = pstring "Hello"
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 51.24ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let whitespaceChar =
satisfy Char.IsWhiteSpace "whitespace"
── fsharp ──────────────────────────────────────────────────────────────────────
let spaces = many whitespaceChar
── fsharp ──────────────────────────────────────────────────────────────────────
let spaces1 = many1 whitespaceChar
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr " Hello"
let parser = spaces1 .>>. pstring "Hello"
runOnInput parser input |> _equal (
Success (
([[ ' '; ' ' ]], "Hello"),
{
lines = [[| " Hello" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 59.05ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - - [ , ] │
│ - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let digitChar =
satisfy Char.IsDigit "digit"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = digitChar
runOnInput parser input |> _equal (
Failure (
"digit",
"Unexpected 'H'",
{
currentLine = "Hello"
line = 0
column = 0
}
)
)
╭─[ 23.60ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: digit │
│ Item2: Unexpected 'H' │
│ Item3: ParserPosition │
│ currentLine: Hello │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let pint =
let inline resultToInt (sign, digits) =
let i = int digits
match sign with
| Some ch -> -i
| None -> i
let digits = manyChars1 digitChar
opt (pchar '-') .>>. digits
|> mapP resultToInt
<?> "integer"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run pint "-123"
|> _equal (
Success (
-123,
{
lines = [[| "-123" |]]
position = { line = 0; column = 4 }
}
)
)
╭─[ 37.14ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - -123 │
│ - InputState │
│ lines: [ -123 ] │
│ position: Position │
│ line: 0 │
│ column: 4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let pfloat =
let inline resultToFloat (((sign, digits1), point), digits2) =
let fl = float $"{digits1}.{digits2}"
match sign with
| Some ch -> -fl
| None -> fl
let digits = manyChars1 digitChar
opt (pchar '-') .>>. digits .>>. pchar '.' .>>. digits
|> mapP resultToFloat
<?> "float"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run pfloat "-123.45"
|> _equal (
Success (
-123.45,
{
lines = [[| "-123.45" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 41.39ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - -123.45 │
│ - InputState │
│ lines: [ -123.45 ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createParserForwardedToRef<'a> () =
let mutable parserRef : Parser<'a> =
{
label = "unknown"
parseFn = fun _ -> failwith "unfixed forwarded parser"
}
let wrapperParser =
{ parserRef with
parseFn = fun input -> runOnInput parserRef input
}
wrapperParser, (fun v -> parserRef <- v)
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>%) p x =
p
|>> fun _ -> x
[NbConvertApp] Converting notebook Parser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 412927 bytes to Parser.dib.html
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: JsonParser.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Parser.dib
00:00:00 #3 [Debug] parseDibCode / output: Fs / file: JsonParser.dib
00:00:00 #3 [Debug] parseDibCode / output: Fs / file: Parser.dib
In [ ]:
{ . "$ScriptDir/../lib/fsharp/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Async (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## choice │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## map │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline map fn a = async {
let! x = a
return fn x
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## catch │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline catch a =
a
|> Async.Catch
|> map (function
| Choice1Of2 result -> Ok result
| Choice2Of2 ex -> Error ex
)
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutAsync (timeout : int) fn =
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let timeoutTask = async {
do! Async.Sleep timeout
trace Debug (fun () -> "runWithTimeoutAsync") getLocals
return None
}
let task = async {
try
let! result = fn
return Some result
with
| :? System.AggregateException as ex when
ex.InnerExceptions
|> Seq.exists (function :?
System.Threading.Tasks.TaskCanceledException -> true | _ -> false)
->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Warning (fun () -> "runWithTimeoutAsync") getLocals
return None
| ex ->
trace Critical (fun () -> $"runWithTimeoutAsync** / ex: {ex |>
printException}") getLocals
return None
}
[[ timeoutTask; task ]]
|> choice
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeout timeout fn =
fn
|> runWithTimeoutAsync timeout
|> Async.RunSynchronously
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeout 10
|> _equal None
╭─[ 149.95ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeout 60
|> _equal (Some ())
╭─[ 88.47ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeout 60
|> _equal None
╭─[ 92.05ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Critical] runWithTimeoutAsync** / ex: System.Exception: error / │
│ timeout: 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutChildAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutChildAsync (timeout : int) fn = async {
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let! child = Async.StartChild (fn, timeout)
return!
child
|> catch
|> map (function
| Ok result -> Some result
| Error (:? System.TimeoutException as ex) ->
trace Debug (fun () -> $"runWithTimeoutChildAsync") getLocals
None
| Error ex ->
trace Critical (fun () -> $"runWithTimeoutChildAsync** / ex: {ex
|> printException}") getLocals
None
)
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutChild timeout fn =
fn
|> runWithTimeoutChildAsync timeout
|> Async.RunSynchronously
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeoutChild 10
|> _equal None
╭─[ 96.79ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #3 [Debug] runWithTimeoutChildAsync / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeoutChild 60
|> _equal (Some ())
╭─[ 70.73ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeoutChild 60
|> _equal None
╭─[ 63.29ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #4 [Critical] runWithTimeoutChildAsync** / ex: System.Exception: │
│ error / timeout: 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutStrict │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutStrict (timeout : int) fn =
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let timeoutTask = async {
do! Async.Sleep timeout
return None, getLocals
}
let task = async {
try
return Async.RunSynchronously (fn, timeout) |> Some, getLocals
with
| :? System.TimeoutException as ex ->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
return None, getLocals
| ex ->
trace Critical (fun () -> $"runWithTimeoutStrict / ex: {ex |>
printException}") getLocals
return raise ex
}
try
[[| timeoutTask; task |]]
|> Array.map Async.StartAsTask
|> System.Threading.Tasks.Task.WhenAny
|> fun task ->
match task.Result.Result with
| None, getLocals ->
trace Debug (fun () -> "runWithTimeoutStrict") getLocals
None
| result, _ -> result
with
| :? System.AggregateException as ex when
ex.InnerExceptions
|> Seq.exists (function :? System.Threading.Tasks.TaskCanceledException
-> true | _ -> false)
->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Warning (fun () -> "runWithTimeoutStrict") getLocals
None
| ex ->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Critical (fun () -> "runWithTimeoutStrict**") getLocals
None
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeoutStrict 10
|> _equal None
╭─[ 118.12ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #5 [Debug] runWithTimeoutStrict / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeoutStrict 60
|> _equal (Some ())
╭─[ 87.77ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeoutStrict 60
|> _equal None
╭─[ 88.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:01 #6 [Critical] runWithTimeoutStrict / ex: System.Exception: error / │
│ timeout: 60 │
│ 00:00:01 #7 [Critical] runWithTimeoutStrict** / ex: │
│ System.AggregateException: One or more errors occurred. (error) / timeout: │
│ 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## awaitValueTask │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline awaitValueTaskUnit (task : System.Threading.Tasks.ValueTask) =
task.AsTask () |> Async.AwaitTask
let inline awaitValueTask (task : System.Threading.Tasks.ValueTask<_>) =
task.AsTask () |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## init │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline init x = async {
return x
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
init 1
|> Async.RunSynchronously
|> _equal 1
╭─[ 28.74ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## mergeCancellationTokenWithDefaultAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline mergeCancellationTokenWithDefaultAsync (token :
System.Threading.CancellationToken) = async {
let! ct = Async.CancellationToken
let dct = Async.DefaultCancellationToken
let cts = System.Threading.CancellationTokenSource.CreateLinkedTokenSource
[[| ct; dct; token |]]
return cts.Token
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## withCancellationToken │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline withCancellationToken (ct : System.Threading.CancellationToken) fn =
Async.StartImmediateAsTask (fn, ct)
|> Async.AwaitTask
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let cts = new System.Threading.CancellationTokenSource ()
async {
let run = async {
do! Async.Sleep 100
return 1
}
let! child =
run
|> withCancellationToken cts.Token
|> catch
|> Async.StartChild
do! Async.Sleep 50
cts.Cancel ()
return! child
}
|> Async.RunSynchronously
|> Result.mapError (fun x -> x.Message)
|> _equal (Error ("A task was canceled."))
╭─[ 179.48ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpResult<Int32,String> │
│ ResultValue: 0 │
│ ErrorValue: A task was canceled. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## withTraceLevel │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline withTraceLevel level fn = async {
let oldTraceLevel = traceLevel
try
traceLevel <- level
return! fn
finally
traceLevel <- oldTraceLevel
}
[NbConvertApp] Converting notebook Async.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 323685 bytes to Async.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # AsyncSeq (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/Async.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## subscribeEvent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
type TestEvent () as self =
member val Calls = [[]] with get, set
member val Event = Event<ErrorEventHandler, ErrorEventArgs> () with get
member _.AddCall text =
self.Calls <- self.Calls @ [[ text ]]
member _.EventInterface =
{ new IEvent<ErrorEventHandler, ErrorEventArgs> with
member _.AddHandler handler =
self.AddCall "AddHandler"
self.Event.Publish.AddHandler handler
member _.RemoveHandler handler =
self.AddCall "RemoveHandler"
self.Event.Publish.RemoveHandler handler
member _.Subscribe observer =
self.AddCall "IObservable.Subscribe"
let disposable = self.Event.Publish.Subscribe observer
newDisposable (fun () ->
self.AddCall "IObservable.Dispose"
disposable.Dispose ()
)
}
member _.Subscribe () =
subscribeEvent
self.EventInterface
(fun args ->
let result = args.GetException () |> printException
self.AddCall $"TestEvent.Subscribe({result})"
result
)
member _.Iter subscription =
subscription
|> FSharp.Control.AsyncSeq.iteriAsync (fun i error -> async {
self.AddCall $"TestEvent.Iter({i}: {error})"
})
member _.WaitCall text = async {
while self.Calls |> List.last <> text do
do! Async.SwitchToThreadPool ()
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
do! child
testEvent.AddCall "3"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> Seq.toList
|> _equal [[ "1"; "AddHandler"; "2"; "RemoveHandler" ]]
╭─[ 522.54ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, RemoveHandler ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
use _ = testEvent.EventInterface.Subscribe (fun args ->
testEvent.AddCall $"testEvent.EventInterface.Subscribe({args})"
)
testEvent.AddCall "3"
do! child
testEvent.AddCall "4"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> _equal [[ "1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3";
"RemoveHandler"; "IObservable.Dispose" ]]
╭─[ 457.21ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, IObservable.Subscribe, 3, RemoveHandler, │
│ IObservable.Dispose ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
use _ = testEvent.EventInterface.Subscribe (fun args ->
async {
do! testEvent.WaitCall "TestEvent.Iter(0: System.Exception: error)"
testEvent.AddCall
$"testEvent.EventInterface.Subscribe({args.GetException () |> printException})"
}
|> Async.RunSynchronously
)
testEvent.AddCall "3"
testEvent.Event.Trigger (null, ErrorEventArgs (Exception "error"))
testEvent.AddCall "4"
do! child
testEvent.AddCall "5"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> _equal [[
"1"
"AddHandler"
"2"
"IObservable.Subscribe"
"3"
"TestEvent.Subscribe(System.Exception: error)"
"TestEvent.Iter(0: System.Exception: error)"
"testEvent.EventInterface.Subscribe(System.Exception: error)"
"4"
"RemoveHandler"
"IObservable.Dispose"
]]
╭─[ 479.96ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #3 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, IObservable.Subscribe, 3, │
│ TestEvent.Subscribe(System.Exception: error), TestEvent.Iter(0: │
│ System.Exception: error), │
│ testEvent.EventInterface.Subscribe(System.Exception: error), 4, │
│ RemoveHandler, IObservable.Dispose ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun () -> async {
do! tcs.Task |> Async.AwaitTask
return Some (System.DateTime.Now.Ticks - start, ())
})
()
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let cts = new System.Threading.CancellationTokenSource ()
async {
let! child =
cts.Token
|> subscribeToken
|> FSharp.Control.AsyncSeq.tryFirst
|> Async.StartChild
do! Async.Sleep 100
cts.Cancel ()
return! child
}
|> Async.RunSynchronously
|> Option.get
|> _isGreaterThan 1000000
╭─[ 181.28ms - stdout ]────────────────────────────────────────────────────────╮
│ 1055801 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook AsyncSeq.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 300376 bytes to AsyncSeq.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Common (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
let nl = System.Environment.NewLine
let q = @""""
── fsharp ──────────────────────────────────────────────────────────────────────
let inline cons head tail = head :: tail
── fsharp ──────────────────────────────────────────────────────────────────────
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input : string)
=
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline splitString (separator : string array) (input : string) =
input.Split (separator, System.StringSplitOptions.None)
let inline startsWith (value : string) (input : string) =
input.StartsWith value
let inline substring startIndex length (input : string) =
input.Substring (startIndex, length)
let inline toLower (input : string) =
input.ToLower ()
let inline toUpper (input : string) =
input.ToUpper ()
let inline trim (input : string) =
input.Trim ()
let inline trimEnd (trimChars : char array) (input : string) =
input.TrimEnd trimChars
let inline trimStart (trimChars : char array) (input : string) =
input.TrimStart trimChars
── fsharp ──────────────────────────────────────────────────────────────────────
type TicksGuid = System.Guid
type DateTimeGuid = System.Guid
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testGuid = Guid "FEDCBA98-7654-3210-FEDC-BA9876543210"
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## dateTimeGuidFromDateTime │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline dateTimeGuidFromDateTime (guid: System.Guid) (dateTime:
System.DateTime) =
let guid = guid |> string
let prefix = dateTime.ToString "yyyyMMdd-HHmm-ssff-ffff-f"
DateTimeGuid $"{prefix}{guid.[[prefix.Length..]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.MinValue
|> _equal (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")
╭─[ 74.23ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00010101-0000-0000-0000-0a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.MaxValue
|> _equal (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |>
string).[[^10..]]}")
╭─[ 39.77ms - stdout ]─────────────────────────────────────────────────────────╮
│ 99991231-2359-5999-9999-9a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.UnixEpoch
|> _equal (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |>
string).[[^10..]]}")
╭─[ 40.36ms - stdout ]─────────────────────────────────────────────────────────╮
│ 19700101-0000-0000-0000-0a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## dateTimeFromGuid │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline dateTimeFromGuid (dateTimeGuid: DateTimeGuid) =
let dateTimeGuid = dateTimeGuid |> string
System.DateTime.ParseExact (dateTimeGuid.[[..24]] |> String.replace "-" "",
"yyyyMMddHHmmssfffffff", null)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")
|> _equal DateTime.MinValue
╭─[ 35.47ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0001-01-01 00:00:00Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |>
string).[[^10..]]}")
|> _equal DateTime.MaxValue
╭─[ 36.88ms - stdout ]─────────────────────────────────────────────────────────╮
│ 9999-12-31 23:59:59Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |>
string).[[^10..]]}")
|> _equal DateTime.UnixEpoch
╭─[ 34.23ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1970-01-01 00:00:00Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## ticksGuidFromTicks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline ticksGuidFromTicks (guid: System.Guid) (ticks: int64) =
let guid = guid |> string
let ticks = ticks |> string |> String.padLeft 18 '0'
TicksGuid
$"{ticks.[[0..7]]}-{ticks.[[8..11]]}-{ticks.[[12..15]]}-{ticks.[[16..17]]}{guid.
[[21..]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksGuidFromTicks testGuid 0L
|> _equal (TicksGuid "00000000-0000-0000-00dc-ba9876543210")
╭─[ 39.36ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00000000-0000-0000-00dc-ba9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksGuidFromTicks testGuid 999999999999999999L
|> _equal (TicksGuid $"99999999-9999-9999-99dc-b{(testGuid |>
string).[[^10..]]}")
╭─[ 46.67ms - stdout ]─────────────────────────────────────────────────────────╮
│ 99999999-9999-9999-99dc-ba9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## ticksFromGuid │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline ticksFromGuid (ticksGuid: DateTimeGuid) =
let ticks = ticksGuid |> string
int64
$"{ticks.[[0..7]]}{ticks.[[9..12]]}{ticks.[[14..17]]}{ticks.[[19..20]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksFromGuid (TicksGuid "00000000-0000-0000-00dc-ba9876543210")
|> _equal 0L
╭─[ 36.17ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksFromGuid (TicksGuid $"99999999-9999-9999-99{(testGuid |>
string).[[^14..]]}")
|> _equal 999999999999999999L
╭─[ 44.19ms - stdout ]─────────────────────────────────────────────────────────╮
│ 999999999999999999 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newGuidFromDateTime │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newGuidFromDateTime (dateTime: System.DateTime) =
let guid = System.Guid.NewGuid ()
dateTimeGuidFromDateTime guid dateTime
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
newGuidFromDateTime System.DateTime.UtcNow
|> dateTimeFromGuid
|> fun dateTime -> (dateTime - System.DateTime.UtcNow).TotalSeconds |> int
|> _equal 0
╭─[ 68.90ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newGuidFromTicks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newGuidFromTicks (ticks: int64) =
let guid = System.Guid.NewGuid ()
ticksGuidFromTicks guid ticks
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
newGuidFromTicks System.DateTime.UtcNow.Ticks
|> ticksFromGuid
|> fun ticks -> (ticks - System.DateTime.UtcNow.Ticks) / 100000L
|> _equal 0L
╭─[ 50.47ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## memoize │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline memoize fn =
let result = lazy fn ()
fun () -> result.Value
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable count = 0
let add =
fun () -> count <- count + 1
|> memoize
add ()
add ()
add ()
count
|> _equal 1
╭─[ 33.96ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## printException │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline printException (ex : System.Exception) =
$"{ex.GetType ()}: {ex.Message}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> failwith "test"
|> _throwsC (fun ex _ ->
printException ex
|> _equal "System.Exception: test"
)
╭─[ 47.30ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSI_0034+it@3-1 │
│ System.Exception: test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## TraceLevel │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type TraceLevel =
| Verbose
| Debug
| Info
| Warning
| Critical
let inline getLocals () = ""
let mutable traceEnabled = true
let mutable traceCount = 0
let mutable traceLevel = Verbose
let mutable traceDump = false
── fsharp ──────────────────────────────────────────────────────────────────────
let testTraceLevel level =
traceEnabled && level >= traceLevel
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## traceRaw │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let rec traceRaw level fn =
if level |> testTraceLevel then
traceCount <- traceCount + 1
let text = $"%s{fn ()}"
System.Console.WriteLine text
#if !WASM && !FABLE_COMPILER
if traceDump then
try
let tmpPath = System.IO.Path.GetTempPath ()
let logDir = System.IO.Path.Combine (tmpPath, "!polyglot")
System.IO.Directory.CreateDirectory logDir |> ignore
let logFile = System.IO.Path.Combine (logDir,
$"{newGuidFromDateTime System.DateTime.Now}.txt")
System.IO.File.WriteAllTextAsync (logFile, text) |>
Async.AwaitTask |> Async.RunSynchronously
with ex ->
traceRaw Critical (fun () -> $"trace / ex: {ex |>
printException}")
#endif
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
traceRaw Debug (fun () -> "test")
╭─[ 10.63ms - stdout ]─────────────────────────────────────────────────────────╮
│ test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## trace │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let private replStart =
#if INTERACTIVE || !FABLE_COMPILER
fun () ->
if System.Reflection.Assembly.GetEntryAssembly().GetName().Name <>
"Microsoft.DotNet.Interactive.App"
then Some System.DateTime.Now.Ticks
else None
|> memoize
#else
fun () -> None : int64 option
#endif
let trace level fn getLocals =
fun () ->
let time =
#if WASM
""
#else
match replStart () with
| Some replStart ->
let t = System.DateTime.Now.Ticks - replStart |> System.TimeSpan
System.DateTime (1, 1, 1, t.Hours, t.Minutes, t.Seconds,
t.Milliseconds, t.Microseconds)
| None -> System.DateTime.Now
|> fun dateTime ->
#if FABLE_COMPILER_RUST
"hh:mm:ss"
#else
"HH:mm:ss"
#endif
|> dateTime.ToString
#endif
$"{time} #{traceCount} [[%A{level}]] %s{fn ()} / %s{getLocals ()}"
|> String.trimStart [[||]]
|> String.trimEnd [[| ' '; '/' |]]
|> traceRaw level
let inline withTrace enabled fn =
let oldTraceEnabled = traceEnabled
try
traceEnabled <- enabled
fn ()
finally
traceEnabled <- oldTraceEnabled
let inline withTraceEnabled fn =
withTrace true fn
let inline withTraceDisabled fn =
withTrace false fn
let inline withTraceLevel level fn =
let oldTraceLevel = traceLevel
try
traceLevel <- level
fn ()
finally
traceLevel <- oldTraceLevel
let inline withTraceDump dump fn =
let oldTraceDump = traceDump
try
traceDump <- dump
fn ()
finally
traceDump <- oldTraceDump
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
trace Debug (fun () -> "test") getLocals
╭─[ 29.79ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newDisposable │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newDisposable fn =
{ new System.IDisposable with
member _.Dispose () = fn ()
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
|> fun x -> x.Dispose ()
newDisposableTest |> _equal 1
╭─[ 21.14ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
fun () -> task {
use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> fun x -> x () |> Async.AwaitTask |> Async.RunSynchronously
newDisposableTest |> _equal 1
╭─[ 130.87ms - stdout ]────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
async {
use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> Async.RunSynchronously
newDisposableTest |> _equal 1
╭─[ 39.65ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
async {
let x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> Async.RunSynchronously
newDisposableTest |> _equal 0
╭─[ 33.53ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## retryFn │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline retryFn retries fn =
let rec loop retry =
try
if retry < retries
then fn () |> Some
else None
with ex ->
let getLocals () = $"retry: {retry} / ex: {ex |> printException} /
{getLocals ()}"
trace Warning (fun () -> "retryFn") getLocals
System.Threading.Thread.Sleep 1
loop (retry + 1)
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable retryFnTest = 0
fun () ->
retryFnTest <- retryFnTest + 1
retryFnTest
|> retryFn 3
|> _equal (Some 1)
╭─[ 31.44ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Int32> │
│ Value: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> failwith "test"
|> retryFn 3
|> _equal None
╭─[ 69.52ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #3 [Warning] retryFn / retry: 0 / ex: System.Exception: test │
│ 00:00:00 #4 [Warning] retryFn / retry: 1 / ex: System.Exception: test │
│ 00:00:00 #5 [Warning] retryFn / retry: 2 / ex: System.Exception: test │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable retryFnTest = 0
fun () ->
if retryFnTest >= 2
then retryFnTest
else
retryFnTest <- retryFnTest + 1
failwith "test"
|> retryFn 3
|> _equal (Some 2)
╭─[ 68.12ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #6 [Warning] retryFn / retry: 0 / ex: System.Exception: test │
│ 00:00:00 #7 [Warning] retryFn / retry: 1 / ex: System.Exception: test │
│ FSharpOption<Int32> │
│ Value: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Common.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 351886 bytes to Common.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # CommonFSharp (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getUnionCaseName │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
TraceLevel.Critical
|> getUnionCaseName
|> _equal (nameof TraceLevel.Critical)
╭─[ 61.40ms - stdout ]─────────────────────────────────────────────────────────╮
│ Critical │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook CommonFSharp.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 274494 bytes to CommonFSharp.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Threading (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newDisposableToken │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newDisposableToken (mergeToken: System.Threading.CancellationToken
option) =
let cts = new System.Threading.CancellationTokenSource ()
let cts =
match mergeToken with
| None -> cts
| Some mergeToken ->
System.Threading.CancellationTokenSource.CreateLinkedTokenSource [[|
cts.Token; mergeToken |]]
let disposable = newDisposable cts.Cancel
cts.Token, disposable
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable counter = 0
let inline run fn =
let token, disposable = newDisposableToken None
use _ = disposable
fn token
async {
fn token
}
|> Async.Start
let inline fn (token : System.Threading.CancellationToken) =
counter <- counter + (if token.IsCancellationRequested then 10 else 1)
async {
run fn
do! Async.Sleep 10
return counter
}
|> Async.RunSynchronously
|> _equal 11
╭─[ 165.44ms - stdout ]────────────────────────────────────────────────────────╮
│ 11 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Threading.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 277511 bytes to Threading.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Crypto (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## hashText │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let hashText (input : string) =
use sha256 = System.Security.Cryptography.SHA256.Create ()
input
|> System.Text.Encoding.UTF8.GetBytes
|> sha256.ComputeHash
|> Array.map (fun b -> b.ToString "x2")
|> String.concat ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
""
|> hashText
|> _equal "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
╭─[ 51.78ms - stdout ]─────────────────────────────────────────────────────────╮
│ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" "
|> hashText
|> _equal "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
╭─[ 19.17ms - stdout ]─────────────────────────────────────────────────────────╮
│ 36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Crypto.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 276328 bytes to Crypto.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # FileSystem (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Runtime.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Operators │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
── fsharp ──────────────────────────────────────────────────────────────────────
open Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## createTempDirectoryName │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
createTempDirectoryName ()
|> _contains System.IO.Path.DirectorySeparatorChar
╭─[ 54.09ms - stdout ]─────────────────────────────────────────────────────────╮
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-0517-1742-174ca │
│ 61875a0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## createTempDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let getLocals () =
$"tempFolder: {tempFolder} / result: {({|
Exists = result.Exists
CreationTime = result.CreationTime
|})} {getLocals ()}"
trace Debug (fun () -> "createTempDirectory") getLocals
tempFolder
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempDirectory = createTempDirectory ()
Directory.Exists tempDirectory
|> _equal true
╭─[ 36.02ms - stdout ]─────────────────────────────────────────────────────────╮
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getSourceDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let getSourceDirectory =
fun () -> __SOURCE_DIRECTORY__
|> memoize
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory ()
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "fsharp"
╭─[ 36.71ms - stdout ]─────────────────────────────────────────────────────────╮
│ fsharp │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## findParent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline findParent name isFile rootDir =
let rec loop dir =
if dir </> name |> (if isFile then System.IO.File.Exists else
System.IO.Directory.Exists)
then dir
else
dir
|> System.IO.Directory.GetParent
|> function
| null -> failwith $"""No parent for {if isFile then "file" else
"dir"} '{name}' at '{rootDir}'"""
| parent -> parent.FullName |> loop
loop rootDir
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory () |> findParent ".paket" false
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "polyglot"
╭─[ 26.18ms - stdout ]─────────────────────────────────────────────────────────╮
│ polyglot │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory () |> findParent "paket.dependencies" true
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "polyglot"
╭─[ 26.24ms - stdout ]─────────────────────────────────────────────────────────╮
│ polyglot │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## readAllTextAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline readAllTextAsync path =
path |> System.IO.File.ReadAllTextAsync |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## fileExistsContent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline fileExistsContent path content = async {
if path |> System.IO.File.Exists |> not
then return false
else
let! existingContent = path |> readAllTextAsync
return content = existingContent
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeAllTextAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeAllTextAsync path contents =
System.IO.File.WriteAllTextAsync (path, contents) |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeAllTextExists │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeAllTextExists path contents = async {
let! exists = contents |> fileExistsContent path
if not exists
then do! contents |> writeAllTextAsync path
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## waitForFileAccess │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline waitForFileAccess access path =
let fileAccess, fileShare =
access
|> Option.defaultValue (System.IO.FileAccess.ReadWrite,
System.IO.FileShare.Read)
let rec loop retry = async {
try
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
fileAccess,
fileShare
)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path |> System.IO.Path.GetFileName}
/ ex: {ex |> printException} / {getLocals ()}"
trace Debug (fun () -> "waitForFileAccess") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use stream = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
stream.Seek (0L, SeekOrigin.Begin) |> ignore
trace Debug (fun () -> "_4") getLocals
stream.WriteByte 49uy
trace Debug (fun () -> "_5") getLocals
stream.Flush ()
trace Debug (fun () -> "_6") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries = path |> waitForFileAccess None
trace Debug (fun () -> "5") getLocals
let! text = path |> readAllTextAsync
trace Debug (fun () -> "6") getLocals
do! child
trace Debug (fun () -> "7") getLocals
return retries, text
}
|> Async.runWithTimeout 3000
|> function
| Some (retries, text) ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 100)
(if Runtime.isWindows () then 150 else 200)
text |> _equal "1"
true
| _ -> false
|> _equal true
╭─[ 2.48s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] 1 │
│ 00:00:00 #2 [Debug] 2 │
│ 00:00:00 #3 [Debug] _1 │
│ 00:00:00 #4 [Debug] 3 │
│ 00:00:00 #5 [Debug] _2 │
│ 00:00:00 #6 [Debug] 4 │
│ 00:00:00 #7 [Debug] waitForFileAccess / path: test.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-0605-0506-0836 │
│ 9f4adc38\test.txt' because it is being used by another process. │
│ 00:00:01 #8 [Debug] waitForFileAccess / path: test.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-0605-0506-0836 │
│ 9f4adc38\test.txt' because it is being used by another process. │
│ 00:00:02 #9 [Debug] _3 │
│ 00:00:02 #10 [Debug] _4 │
│ 00:00:02 #11 [Debug] _5 │
│ 00:00:02 #12 [Debug] _6 │
│ 00:00:02 #13 [Debug] 5 │
│ 00:00:02 #14 [Debug] 6 │
│ 00:00:02 #15 [Debug] 7 │
│ 127 │
│ 127 │
│ 127 │
│ 1 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## readAllTextRetryAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline readAllTextRetryAsync fullPath =
let rec loop retry = async {
try
if retry > 0
then do!
fullPath
|> waitForFileAccess (Some (
System.IO.FileAccess.Read,
System.IO.FileShare.Read
))
|> Async.runWithTimeoutAsync 1000
|> Async.Ignore
return! fullPath |> readAllTextAsync |> Async.map Some
with ex ->
let getLocals () = $"retry: {retry} / ex: {ex |> printException} /
{getLocals ()}"
trace Debug (fun () -> $"watchWithFilter / readContent") getLocals
if retry = 0
then return! loop (retry + 1)
else return None
}
loop 0
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## deleteDirectoryAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline deleteDirectoryAsync path =
let rec loop retry = async {
try
System.IO.Directory.Delete (path, true)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path |> System.IO.Path.GetFileName}
/ ex: {ex |> printException} / {getLocals ()}"
trace Debug (fun () -> "deleteDirectoryAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test"
let inline lockDirectory () = async {
trace Debug (fun () -> "_1") getLocals
System.IO.File.WriteAllText (path </> "test.txt", "0")
use _ = new System.IO.FileStream (
path </> "test.txt",
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
Directory.CreateDirectory path |> ignore
trace Debug (fun () -> "2") getLocals
let! child = lockDirectory () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 60
trace Debug (fun () -> "4") getLocals
let! retries = deleteDirectoryAsync path
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries
}
|> Async.runWithTimeout 3000
|> function
| Some retries ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
true
| _ -> false
|> _equal true
╭─[ 2.37s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:02 #16 [Debug] 1 │
│ 00:00:02 #17 [Debug] 2 │
│ 00:00:02 #18 [Debug] 3 │
│ 00:00:02 #19 [Debug] _1 │
│ 00:00:02 #20 [Debug] _2 │
│ 00:00:02 #21 [Debug] 4 │
│ 00:00:02 #22 [Debug] deleteDirectoryAsync / path: test / ex: │
│ System.IO.IOException: The process cannot access the file 'test.txt' because │
│ it is being used by another process. │
│ 00:00:04 #23 [Debug] deleteDirectoryAsync / path: test / ex: │
│ System.IO.IOException: The process cannot access the file 'test.txt' because │
│ it is being used by another process. │
│ 00:00:04 #24 [Debug] _3 │
│ 00:00:04 #25 [Debug] 5 │
│ 00:00:04 #26 [Debug] 6 │
│ 120 │
│ 120 │
│ 120 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## deleteFileAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline deleteFileAsync path =
let rec loop retry = async {
try
System.IO.File.Delete path
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path |> System.IO.Path.GetFileName}
/ ex: {ex |> printException} / {getLocals ()}"
trace Warning (fun () -> "deleteFileAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries = deleteFileAsync path
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries
}
|> Async.runWithTimeout 3000
|> function
| Some retries ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
true
| _ -> false
|> _equal true
╭─[ 2.30s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:05 #27 [Debug] 1 │
│ 00:00:05 #28 [Debug] 2 │
│ 00:00:05 #29 [Debug] 3 │
│ 00:00:05 #30 [Debug] _1 │
│ 00:00:05 #31 [Debug] _2 │
│ 00:00:05 #32 [Debug] 4 │
│ 00:00:05 #33 [Warning] deleteFileAsync / path: test.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-1116-1676-1e52 │
│ e9796f6e\test.txt' because it is being used by another process. │
│ 00:00:06 #34 [Warning] deleteFileAsync / path: test.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-1116-1676-1e52 │
│ e9796f6e\test.txt' because it is being used by another process. │
│ 00:00:07 #35 [Debug] _3 │
│ 00:00:07 #36 [Debug] 5 │
│ 00:00:07 #37 [Debug] 6 │
│ 127 │
│ 127 │
│ 127 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## moveFileAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline moveFileAsync newPath oldPath =
let rec loop retry = async {
try
System.IO.File.Move (oldPath, newPath)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () =
$"oldPath: {oldPath |> System.IO.Path.GetFileName} /
newPath: {newPath |> System.IO.Path.GetFileName} / ex: {ex |> printException} /
{getLocals ()}"
trace Warning (fun () -> "moveFileAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let newPath = tempFolder </> "test2.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries1 = path |> moveFileAsync newPath
trace Debug (fun () -> "5") getLocals
let! retries2 = newPath |> waitForFileAccess None
trace Debug (fun () -> "6") getLocals
let! text = newPath |> readAllTextAsync
trace Debug (fun () -> "7") getLocals
do! child
trace Debug (fun () -> "8") getLocals
return retries1, retries2, text
}
|> Async.runWithTimeout 3000
|> function
| Some (retries1, retries2, text) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
retries2
|> _isBetween
(if Runtime.isWindows () then 0 else 100)
(if Runtime.isWindows () then 0 else 200)
text |> _equal "0"
true
| _ -> false
|> _equal true
╭─[ 2.39s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:07 #38 [Debug] 1 │
│ 00:00:07 #39 [Debug] 2 │
│ 00:00:07 #40 [Debug] 3 │
│ 00:00:07 #41 [Debug] _1 │
│ 00:00:07 #42 [Debug] _2 │
│ 00:00:07 #43 [Debug] 4 │
│ 00:00:07 #44 [Warning] moveFileAsync / oldPath: test.txt / newPath: │
│ test2.txt / ex: System.IO.IOException: The process cannot access the file │
│ because it is being used by another process. │
│ 00:00:09 #45 [Warning] moveFileAsync / oldPath: test.txt / newPath: │
│ test2.txt / ex: System.IO.IOException: The process cannot access the file │
│ because it is being used by another process. │
│ 00:00:09 #46 [Debug] _3 │
│ 00:00:09 #47 [Debug] 5 │
│ 00:00:09 #48 [Debug] 6 │
│ 00:00:09 #49 [Debug] 7 │
│ 00:00:09 #50 [Debug] 8 │
│ 129 │
│ 129 │
│ 129 │
│ 0 │
│ 0 │
│ 0 │
│ 0 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## watchDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type FileSystemChangeType =
| Failure
| Changed
| Created
| Deleted
| Renamed
[[<RequireQualifiedAccess>]]
type FileSystemChange =
| Failure of exn: exn
| Changed of path: string * content: string option
| Created of path: string * content: string option
| Deleted of path: string
| Renamed of oldPath: string * (string * string option)
let inline watchDirectoryWithFilter filter shouldReadContent path =
let fullPath = path |> System.IO.Path.GetFullPath
let getLocals () = $"filter: {filter} / {getLocals ()}"
let watcher =
new System.IO.FileSystemWatcher (
Path = fullPath,
NotifyFilter = filter,
EnableRaisingEvents = true,
IncludeSubdirectories = true
)
let inline getEventPath (path : string) =
path |> String.trim |> String.replace fullPath "" |> String.trimStart
[[| '/'; '\\' |]]
let inline ticks () =
System.DateTime.UtcNow.Ticks
let changedStream =
AsyncSeq.subscribeEvent
watcher.Changed
(fun event ->
ticks (),
[[ FileSystemChange.Changed (getEventPath event.FullPath, None)
]]
)
let deletedStream =
AsyncSeq.subscribeEvent
watcher.Deleted
(fun event ->
ticks (),
[[ FileSystemChange.Deleted (getEventPath event.FullPath) ]]
)
let createdStream =
AsyncSeq.subscribeEvent
watcher.Created
(fun event ->
let path = getEventPath event.FullPath
ticks (), [[
FileSystemChange.Created (path, None)
if Runtime.isWindows () then
FileSystemChange.Changed (path, None)
]])
let renamedStream =
AsyncSeq.subscribeEvent
watcher.Renamed
(fun event ->
ticks (), [[
FileSystemChange.Renamed (
getEventPath event.OldFullPath,
(getEventPath event.FullPath, None)
)
]]
)
let failureStream =
AsyncSeq.subscribeEvent
watcher.Error
(fun event -> ticks (), [[ FileSystemChange.Failure
(event.GetException ()) ]])
let stream =
[[
changedStream
deletedStream
createdStream
renamedStream
failureStream
]]
|> FSharp.Control.AsyncSeq.mergeAll
|> FSharp.Control.AsyncSeq.map (fun (t, events) ->
events
|> List.fold
(fun (i, events) event ->
i + 1L,
(t + i, event) :: events)
(0L, [[]])
|> snd
|> List.rev
)
|> FSharp.Control.AsyncSeq.concatSeq
|> FSharp.Control.AsyncSeq.mapAsyncParallel (fun (t, event) -> async {
match shouldReadContent event, event with
| true, FileSystemChange.Changed (path, _) ->
do! Async.Sleep 5
let! content = fullPath </> path |> readAllTextRetryAsync
return t, FileSystemChange.Changed (path, content)
| true, FileSystemChange.Created (path, _) ->
do! Async.Sleep 5
let! content = fullPath </> path |> readAllTextRetryAsync
return t, FileSystemChange.Created (path, content)
| true, FileSystemChange.Renamed (oldPath, (newPath, _)) ->
let! content = fullPath </> newPath |> readAllTextRetryAsync
return t, FileSystemChange.Renamed (oldPath, (newPath, content))
| _ -> return t, event
})
let disposable =
newDisposable (fun () ->
trace Debug (fun () -> "watchWithFilter / Disposing watch stream")
getLocals
watcher.EnableRaisingEvents <- false
watcher.Dispose ()
)
stream, disposable
let inline watchDirectory path =
watchDirectoryWithFilter
(System.IO.NotifyFilters.FileName
// ||| System.IO.NotifyFilters.DirectoryName
// ||| System.IO.NotifyFilters.Attributes
//// ||| System.IO.NotifyFilters.Size
||| System.IO.NotifyFilters.LastWrite
//// ||| System.IO.NotifyFilters.LastAccess
// ||| System.IO.NotifyFilters.CreationTime
// ||| System.IO.NotifyFilters.Security
)
path
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### testEventsRaw (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline testEventsRaw
(watchFn : (_ -> bool) -> string -> FSharp.Control.AsyncSeq<int64 *
FileSystemChange> * IDisposable)
write
=
let tempDirectory = createTempDirectory ()
let stream, disposable = watchFn (fun _ -> true) tempDirectory
let events = System.Collections.Concurrent.ConcurrentBag ()
let inline iter () =
stream
|> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
events.Add event })
let run = async {
let! _ = iter () |> Async.StartChild
do! Async.Sleep 250
return! write tempDirectory
}
try
run
|> Async.runWithTimeout 60000
|> _equal (Some ())
finally
disposable.Dispose ()
deleteDirectoryAsync tempDirectory |> Async.Ignore |>
Async.RunSynchronously
let eventsLog =
events
|> Seq.toList
|> List.sortBy fst
|> List.fold
(fun (prev, acc) (ticks, event) ->
ticks, (ticks, (if prev = 0L then 0L else ticks - prev), event)
:: acc
)
(0L, [[]])
|> snd
|> List.rev
|> List.map (fun (diff, n, event) ->
let text = $"{n} / {diff} / {event}"
if text |> String.length <= 100
then text
else text |> String.substring 0 100 |> String.replace "\n" ""
)
|> String.concat "\n"
let getLocals () = $"eventsLog: \n{eventsLog} / {getLocals ()}"
trace Debug (fun () -> "testEventsRaw") getLocals
events
|> Seq.toList
|> List.sortBy fst
|> List.map snd
|> List.fold
(fun acc event ->
match acc, event with
| FileSystemChange.Changed (lastPath, Some lastContent) as lastEvent
:: acc,
FileSystemChange.Changed (path, Some content)
when lastPath = path && content |> String.startsWith lastContent
->
event :: acc
| _ -> event :: acc
)
[[]]
|> List.rev
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### fast (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"a{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! $"b{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
do! Async.Sleep 250
for i = 1 to n do
do! $"c{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 250
}
let inline run () =
let events = testEventsRaw watchDirectory write
events
|> _sequenceEqual [[
FileSystemChange.Created ("file1.txt", Some "a1")
FileSystemChange.Changed ("file1.txt", Some "a1")
FileSystemChange.Created ("file2.txt", Some "a2")
FileSystemChange.Changed ("file2.txt", Some "a2")
FileSystemChange.Changed ("file1.txt", Some "b1")
FileSystemChange.Changed ("file2.txt", Some "b2")
FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "b1"))
FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "b2"))
FileSystemChange.Changed ("file_1.txt", Some "c1")
FileSystemChange.Changed ("file_2.txt", Some "c2")
FileSystemChange.Deleted "file_1.txt"
FileSystemChange.Deleted "file_2.txt"
]]
run
|> retryFn 3
|> _equal (Some ())
╭─[ 5.39s - stdout ]───────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:17 #51 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ 00:00:17 #52 [Debug] testEventsRaw / eventsLog: │
│ 0 / 638350170817276038 / Created ("file1.txt", Some "a1") │
│ 1 / 638350170817276039 / Changed ("file1.txt", Some "a1") │
│ 58668 / 638350170817334707 / Changed ("file1.txt", Some "a1") │
│ 2372 / 638350170817337079 / Created ("file2.txt", Some "a2") │
│ 1 / 638350170817337080 / Changed ("file2.txt", Some "a2") │
│ 142 / 638350170817337222 / Changed ("file2.txt", Some "a2") │
│ 2495598 / 638350170819832820 / Changed ("file1.txt", Some "b1") │
│ 2204 / 638350170819835024 / Changed ("file1.txt", Some "b1") │
│ 9719 / 638350170819844743 / Changed ("file2.txt", Some "b2") │
│ 1700 / 638350170819846443 / Changed ("file2.txt", Some "b2") │
│ 2686988 / 638350170822533431 / Renamed ("file1.txt", ("file_1.txt", Some │
│ "b1")) │
│ 9667 / 638350170822543098 / Renamed ("file2.txt", ("file_2.txt", Some "b2")) │
│ 2628291 / 638350170825171389 / Changed ("file_1.txt", Some "c1") │
│ 2402 / 638350170825173791 / Changed ("file_1.txt", Some "c1") │
│ 18217 / 638350170825192008 / Changed ("file_2.txt", Some "c2") │
│ 3327 / 638350170825195335 / Changed ("file_2.txt", Some "c2") │
│ 2635463 / 638350170827830798 / Deleted "file_1.txt" │
│ 3593 / 638350170827834391 / Deleted "file_2.txt" │
│ FSharpList<FileSystemChange> │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: a1 │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: a1 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: a2 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: a2 │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: b1 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: b2 │
│ - oldPath: file1.txt │
│ Item2: - file_1.txt │
│ - FSharpOption<String> │
│ Value: b1 │
│ - oldPath: file2.txt │
│ Item2: - file_2.txt │
│ - FSharpOption<String> │
│ Value: b2 │
│ - path: file_1.txt │
│ content: FSharpOption<String> │
│ Value: c1 │
│ - path: file_2.txt │
│ content: FSharpOption<String> │
│ Value: c2 │
│ - path: file_1.txt │
│ - path: file_2.txt │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### slow (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
let contents =
[[ 1 .. n ]]
|> List.map (string >> String.replicate 1_000_000)
for i = 1 to n do
do! $"{contents.[[i - 1]]}a" |> writeAllTextAsync (path </>
$"file{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! $"{contents.[[i - 1]]}b" |> writeAllTextAsync (path </>
$"file{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
do! Async.Sleep 1500
for i = 1 to n do
do! $"{contents.[[i - 1]]}c" |> writeAllTextAsync (path </>
$"file_{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 1500
}
let inline run () =
let events =
testEventsRaw watchDirectory write
|> List.map (function
| FileSystemChange.Changed (path, Some content) ->
FileSystemChange.Changed (path, content |> Seq.distinct |>
Seq.map string |> String.concat "" |> Some)
| FileSystemChange.Created (path, Some content) ->
FileSystemChange.Created (path, content |> Seq.distinct |>
Seq.map string |> String.concat "" |> Some)
| FileSystemChange.Renamed (oldPath, (newPath, Some content)) ->
FileSystemChange.Renamed (
oldPath,
(newPath, content |> Seq.distinct |> Seq.map string |>
String.concat "" |> Some)
)
| event -> event
)
events
|> _sequenceEqual [[
FileSystemChange.Created ("file1.txt", Some "1a")
FileSystemChange.Changed ("file1.txt", Some "1a")
FileSystemChange.Created ("file2.txt", Some "2a")
FileSystemChange.Changed ("file2.txt", Some "2a")
FileSystemChange.Changed ("file1.txt", Some "1b")
FileSystemChange.Changed ("file2.txt", Some "2b")
FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "1b"))
FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "2b"))
FileSystemChange.Changed ("file_1.txt", Some "1c")
FileSystemChange.Changed ("file_2.txt", Some "2c")
FileSystemChange.Deleted "file_1.txt"
FileSystemChange.Deleted "file_2.txt"
]]
run
|> retryFn 5
|> _equal (Some ())
╭─[ 13.48s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:22 #53 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file2.txt' because it is being used by another process.) │
│ 00:00:22 #53 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file2.txt' because it is being used by another process.) │
│ 00:00:23 #54 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file1.txt' because it is being used by another process.) │
│ 00:00:23 #55 [Debug] waitForFileAccess / path: file1.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file1.txt' because it is being used by another process. │
│ 00:00:26 #56 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file_2.txt' because it is being used by another process.) │
│ 00:00:26 #57 [Debug] waitForFileAccess / path: file_2.txt / ex: │
│ System.IO.IOException: The process cannot access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0111-2800-0018-0bb4 │
│ 86dd642c\file_2.txt' because it is being used by another process. │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:29 #58 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ 00:00:30 #59 [Debug] testEventsRaw / eventsLog: │
│ 0 / 638350170882932133 / Created ("file1.txt", Some │
│ "1111111111111111111111111111111111111 │
│ 1 / 638350170882932134 / Changed ("file1.txt", Some │
│ "1111111111111111111111111111111111111 │
│ 115729 / 638350170883047863 / Changed ("file1.txt", Some │
│ "11111111111111111111111111111111 │
│ 41127 / 638350170883088990 / Created ("file2.txt", Some │
│ "222222222222222222222222222222222 │
│ 1 / 638350170883088991 / Changed ("file2.txt", Some │
│ "2222222222222222222222222222222222222 │
│ 151990 / 638350170883240981 / Changed ("file2.txt", Some │
│ "22222222222222222222222222222222 │
│ 15227269 / 638350170898468250 / Changed ("file1.txt", Some │
│ "111111111111111111111111111111 │
│ 239071 / 638350170898707321 / Changed ("file1.txt", Some │
│ "11111111111111111111111111111111 │
│ 59118 / 638350170898766439 / Changed ("file2.txt", Some │
│ "222222222222222222222222222222222 │
│ 137392 / 638350170898903831 / Changed ("file2.txt", Some │
│ "22222222222222222222222222222222 │
│ 15163380 / 638350170914067211 / Renamed ("file1.txt", ("file_1.txt", │
│ Some "1111111111 │
│ 24676 / 638350170914091887 / Renamed ("file2.txt", ("file_2.txt", Some │
│ "2222222222222 │
│ 15329555 / 638350170929421442 / Changed ("file_1.txt", Some │
│ "11111111111111111111111111111 │
│ 108870 / 638350170929530312 / Changed ("file_1.txt", Some │
│ "1111111111111111111111111111111 │
│ 75869 / 638350170929606181 / Changed ("file_2.txt", Some │
│ "22222222222222222222222222222222 │
│ 130438 / 638350170929736619 / Changed ("file_2.txt", Some │
│ "2222222222222222222222222222222 │
│ 15111632 / 638350170944848251 / Deleted "file_1.txt" │
│ 6902 / 638350170944855153 / Deleted "file_2.txt" │
│ FSharpList<FileSystemChange> │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1a │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1a │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2a │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2a │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1b │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2b │
│ - oldPath: file1.txt │
│ Item2: - file_1.txt │
│ - FSharpOption<String> │
│ Value: 1b │
│ - oldPath: file2.txt │
│ Item2: - file_2.txt │
│ - FSharpOption<String> │
│ Value: 2b │
│ - path: file_1.txt │
│ content: FSharpOption<String> │
│ Value: 1c │
│ - path: file_2.txt │
│ content: FSharpOption<String> │
│ Value: 2c │
│ - path: file_1.txt │
│ - path: file_2.txt │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### testEventsSorted (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline sortEvent event =
match event with
| FileSystemChange.Failure _ -> 0
| FileSystemChange.Created _ -> 1
| FileSystemChange.Changed _ -> 2
| FileSystemChange.Renamed (_oldPath, _) -> 3
| FileSystemChange.Deleted _ -> 4
let inline formatEvents events =
events
|> Seq.toList
|> List.sortBy (snd >> sortEvent)
|> List.choose (fun (ticks, event) ->
match event with
| FileSystemChange.Failure _ ->
None
| FileSystemChange.Changed (path, _) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Changed)
| FileSystemChange.Created (path, _) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Created)
| FileSystemChange.Deleted path ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Deleted)
| FileSystemChange.Renamed (_oldPath, (path, _)) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Renamed)
)
|> List.sortBy (fun (_, path, _) -> path)
|> List.distinctBy (fun (_, path, event) -> path, event)
let inline testEventsSorted
(watchFn : string -> FSharp.Control.AsyncSeq<int64 * FileSystemChange> *
IDisposable)
write
=
let path = createTempDirectory ()
let stream, disposable = watchFn path
let events = System.Collections.Concurrent.ConcurrentBag ()
let inline iter () =
stream
|> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
events.Add event })
let run = async {
let! _ = iter () |> Async.StartChild
do! Async.Sleep 250
return! write path
}
try
run
|> Async.runWithTimeout 5000
|> _equal (Some ())
finally
disposable.Dispose ()
deleteDirectoryAsync path |> Async.Ignore |> Async.RunSynchronously
let events = formatEvents events
let eventMap =
events
|> List.map (fun (ticks, path, event) -> path, (event, ticks))
|> List.groupBy fst
|> List.map (fun (path, events) ->
let event, _ticks =
events
|> List.map snd
|> List.sortByDescending snd
|> List.head
path, event
)
|> Map.ofList
let eventList =
events
|> List.map (fun (_ticks, path, event) -> path, event)
eventMap, eventList
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### create and delete (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 3
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Deleted
"file3.txt", nameof FileSystemChangeType.Created
"file3.txt", nameof FileSystemChangeType.Changed
"file3.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Deleted
"file3.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 5.79s - stdout ]───────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:37 #60 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file1.txt, Deleted ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file2.txt, Deleted ) │
│ ( file3.txt, Created ) │
│ ( file3.txt, Changed ) │
│ ( file3.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Deleted │
│ - Key: file2.txt │
│ Value: Deleted │
│ - Key: file3.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### change (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! "" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 7.35s - stdout ]───────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:44 #61 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file1.txt, Deleted ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Deleted │
│ - Key: file2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### rename (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Renamed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Renamed
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 8.14s - stdout ]───────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:52 #62 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file_1.txt, Renamed ) │
│ ( file_1.txt, Deleted ) │
│ ( file_2.txt, Renamed ) │
│ ( file_2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Changed │
│ - Key: file2.txt │
│ Value: Changed │
│ - Key: file_1.txt │
│ Value: Deleted │
│ - Key: file_2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### full (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! "" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Renamed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Changed
"file_2.txt", nameof FileSystemChangeType.Renamed
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 8.81s - stdout ]───────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:01:01 #63 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file_1.txt, Changed ) │
│ ( file_1.txt, Renamed ) │
│ ( file_1.txt, Deleted ) │
│ ( file_2.txt, Changed ) │
│ ( file_2.txt, Renamed ) │
│ ( file_2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Changed │
│ - Key: file2.txt │
│ Value: Changed │
│ - Key: file_1.txt │
│ Value: Deleted │
│ - Key: file_2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook FileSystem.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 465817 bytes to FileSystem.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Networking (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/Runtime.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## testPortOpen │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |> printException}")
getLocals
return false
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
testPortOpen 65536
|> Async.runWithTimeout 120
|> _equal (Some false)
╭─[ 213.61ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Verbose] testPortOpen / ex: System.ArgumentOutOfRangeException: │
│ Specified argument was out of the range of valid values. (Parameter 'port') │
│ FSharpOption<Boolean> │
│ Value: False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
| Some result -> result
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
testPortOpenTimeout 120 65535
|> Async.RunSynchronously
|> _equal false
╭─[ 291.96ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 120 │
│ False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## waitForPortAccess │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline waitForPortAccess timeout status port =
let rec loop retry = async {
let! isPortOpen =
match timeout with
| None -> testPortOpen port
| Some timeout -> testPortOpenTimeout timeout port
if isPortOpen = status
then return retry
else
if retry % 100 = 0 then
let getLocals () = $"port: {port} / retry: {retry} / {getLocals
()}"
trace Verbose (fun () -> "waitForPortAccess") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5555
let inline lockPort () = async {
trace Debug (fun () -> "_1") getLocals
do! Async.Sleep 5000
use listener = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
trace Debug (fun () -> "_2") getLocals
listener.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_4") getLocals
listener.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPort () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "3") getLocals
let! retries1 = waitForPortAccess None true port
trace Debug (fun () -> "4") getLocals
let! retries2 = waitForPortAccess None false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries1, retries2
}
|> Async.runWithTimeout 20000
|> function
| Some (retries1, retries2) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 2 else 2)
(if Runtime.isWindows () then 5 else 1500)
retries2
|> _isBetween
(if Runtime.isWindows () then 80 else 80)
(if Runtime.isWindows () then 150 else 600)
true
| _ -> false
|> _equal true
╭─[ 9.79s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:01 #3 [Debug] 1 │
│ 00:00:01 #4 [Debug] _1 │
│ 00:00:01 #5 [Debug] 2 │
│ 00:00:01 #6 [Debug] 3 │
│ 00:00:03 #7 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:03 #8 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:05 #9 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:06 #10 [Debug] _2 │
│ 00:00:06 #11 [Debug] _3 │
│ 00:00:06 #12 [Debug] 4 │
│ 00:00:06 #13 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:08 #14 [Verbose] waitForPortAccess / port: 5555 / retry: 100 │
│ 00:00:08 #15 [Debug] _4 │
│ 00:00:08 #16 [Debug] _5 │
│ 00:00:10 #17 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:10 #18 [Debug] 5 │
│ 00:00:10 #19 [Debug] 6 │
│ 2 │
│ 2 │
│ 2 │
│ 117 │
│ 117 │
│ 117 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5555
let inline lockPort () = async {
trace Debug (fun () -> "_1") getLocals
do! Async.Sleep 500
use listener = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
trace Debug (fun () -> "_2") getLocals
listener.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 200
trace Debug (fun () -> "_4") getLocals
listener.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPort () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "3") getLocals
let! retries1 = waitForPortAccess (Some 60) true port
trace Debug (fun () -> "4") getLocals
let! retries2 = waitForPortAccess (Some 60) false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries1, retries2
}
|> Async.runWithTimeout 2000
|> function
| Some (retries1, retries2) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 4 else 2)
(if Runtime.isWindows () then 15 else 150)
retries2
|> _isBetween
(if Runtime.isWindows () then 5 else 0)
(if Runtime.isWindows () then 20 else 60)
true
| _ -> false
|> _equal true
╭─[ 2.58s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:12 #20 [Debug] 1 │
│ 00:00:12 #21 [Debug] _1 │
│ 00:00:12 #22 [Debug] 2 │
│ 00:00:12 #23 [Debug] 3 │
│ 00:00:12 #24 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #25 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:12 #26 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #27 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #28 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #29 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #30 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:12 #31 [Debug] _2 │
│ 00:00:12 #32 [Debug] _3 │
│ 00:00:12 #33 [Debug] 4 │
│ 00:00:12 #34 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:13 #35 [Debug] _4 │
│ 00:00:13 #36 [Debug] _5 │
│ 00:00:13 #37 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:13 #38 [Debug] 5 │
│ 00:00:13 #39 [Debug] 6 │
│ 6 │
│ 6 │
│ 6 │
│ 10 │
│ 10 │
│ 10 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getAvailablePort │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getAvailablePort timeout initialPort =
let rec loop port = async {
let! isPortOpen =
match timeout with
| None -> testPortOpen port
| Some timeout -> testPortOpenTimeout timeout port
if not isPortOpen
then return port
else return! loop (port + 1)
}
loop initialPort
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5555
let inline lockPorts () = async {
trace Debug (fun () -> "_1") getLocals
use listener1 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
use listener2 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port + 1)
trace Debug (fun () -> "_2") getLocals
listener1.Start ()
listener2.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 4000
trace Debug (fun () -> "_4") getLocals
listener1.Stop ()
listener2.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPorts () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 240
trace Debug (fun () -> "3") getLocals
let! availablePort = getAvailablePort None port
trace Debug (fun () -> "4") getLocals
let! retries = waitForPortAccess None false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return availablePort, retries
}
|> Async.runWithTimeout 15000
|> function
| Some (availablePort, retries) ->
availablePort |> _equal (port + 2)
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 100)
(if Runtime.isWindows () then 150 else 1200)
true
| _ -> false
|> _equal true
╭─[ 7.14s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:14 #40 [Debug] 1 │
│ 00:00:14 #41 [Debug] _1 │
│ 00:00:14 #42 [Debug] 2 │
│ 00:00:14 #43 [Debug] _2 │
│ 00:00:14 #44 [Debug] _3 │
│ 00:00:14 #45 [Debug] 3 │
│ 00:00:16 #46 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:17 #47 [Debug] 4 │
│ 00:00:17 #48 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:18 #49 [Verbose] waitForPortAccess / port: 5555 / retry: 100 │
│ 00:00:18 #50 [Debug] _4 │
│ 00:00:18 #51 [Debug] _5 │
│ 00:00:20 #52 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:20 #53 [Debug] 5 │
│ 00:00:20 #54 [Debug] 6 │
│ 5557 │
│ 108 │
│ 108 │
│ 108 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5555
let inline lockPorts () = async {
trace Debug (fun () -> "_1") getLocals
use listener1 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
use listener2 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port + 1)
trace Debug (fun () -> "_2") getLocals
listener1.Start ()
listener2.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 400
trace Debug (fun () -> "_4") getLocals
listener1.Stop ()
listener2.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPorts () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 240
trace Debug (fun () -> "3") getLocals
let! availablePort = getAvailablePort (Some 60) port
trace Debug (fun () -> "4") getLocals
let! retries = waitForPortAccess (Some 60) false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return availablePort, retries
}
|> Async.runWithTimeout 1500
|> function
| Some (availablePort, retries) ->
availablePort |> _equal (port + 2)
retries
|> _isBetween
(if Runtime.isWindows () then 2 else 1)
(if Runtime.isWindows () then 10 else 120)
true
| _ -> false
|> _equal true
╭─[ 1.96s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:22 #55 [Debug] 1 │
│ 00:00:22 #56 [Debug] _1 │
│ 00:00:22 #57 [Debug] 2 │
│ 00:00:22 #58 [Debug] _2 │
│ 00:00:22 #59 [Debug] _3 │
│ 00:00:22 #60 [Debug] 3 │
│ 00:00:22 #61 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:22 #62 [Debug] 4 │
│ 00:00:22 #63 [Verbose] waitForPortAccess / port: 5555 / retry: 0 │
│ 00:00:22 #64 [Debug] _4 │
│ 00:00:22 #65 [Debug] _5 │
│ 00:00:22 #66 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:22 #67 [Debug] 5 │
│ 00:00:22 #68 [Debug] 6 │
│ 5557 │
│ 3 │
│ 3 │
│ 3 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Networking.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 324043 bytes to Networking.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Runtime (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
open FileSystem.Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## isWindows │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
isWindows ()
╭─[ 80.33ms - return value ]───────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>True</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getExecutableSuffix │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getExecutableSuffix ()
╭─[ 12.86ms - return value ]───────────────────────────────────────────────────╮
│ .exe │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## splitCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (path, args) tail (Path
true)
| ('"' | '\'') :: tail, Path true -> loop (path, args) tail (Path false)
| ' ' :: tail, Path true -> loop ($"{path} ", args) tail (Path true)
| ' ' :: tail, (Start | Path _) -> loop (path, args) tail Arguments
| char :: tail, Arguments -> loop (path, $"{args}{char}") tail Arguments
| char :: tail, _ -> loop ($"{path}{char}", args) tail step
| _, _ -> path |> String.replace @"\" "/", args
loop ("", "") (command |> Seq.toList) Start
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
splitCommand ""
|> _equal ("", "")
splitCommand "/a/b/c"
|> _equal ("/a/b/c", "")
splitCommand "cat file.txt"
|> _equal ("cat", "file.txt")
splitCommand """..\..\file.exe file1.txt file2.txt"""
|> _equal ("../../file.exe", "file1.txt file2.txt")
splitCommand @"c:\dir\file.exe ""file1.txt file2.txt"""
|> _equal ("c:/dir/file.exe", @"""file1.txt file2.txt""")
splitCommand @"""..\..\dir name\file.exe"" ""file 1.txt"" file2.txt"
|> _equal ("../../dir name/file.exe", @"""file 1.txt"" file2.txt")
splitCommand @"""..\..\file 1.exe"" -c \\""echo 1\\"""
|> _equal ("../../file 1.exe", @"-c \\""echo 1\\""")
splitCommand @"..\..\file 1.exe -c \\""echo 1\\"""
|> _equal ("../../file", @"1.exe -c \\""echo 1\\""")
╭─[ 92.02ms - stdout ]─────────────────────────────────────────────────────────╮
│ ( , ) │
│ ( /a/b/c, ) │
│ ( cat, file.txt ) │
│ ( ../../file.exe, file1.txt file2.txt ) │
│ ( c:/dir/file.exe, "file1.txt file2.txt" ) │
│ ( ../../dir name/file.exe, "file 1.txt" file2.txt ) │
│ ( ../../file 1.exe, -c \\"echo 1\\" ) │
│ ( ../../file, 1.exe -c \\"echo 1\\" ) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## executeAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type ExecutionLine =
{
ProcessId : int
Line : string
Error : bool
}
type ExecutionOptions =
{
Command : string
WorkingDirectory : string option
CancellationToken : System.Threading.CancellationToken option
OnLine : (ExecutionLine -> Async<unit>) option
}
let inline executeWithOptionsAsync (options : ExecutionOptions) = async {
let fileName, arguments = options.Command |> splitCommand
let workingDirectory = options.WorkingDirectory |> Option.defaultValue ""
trace Debug (fun () -> $"executeAsync / options: {options}") getLocals
let startInfo = System.Diagnostics.ProcessStartInfo (
Arguments = arguments,
CreateNoWindow = true,
FileName = fileName,
RedirectStandardError = true,
RedirectStandardOutput = true,
StandardOutputEncoding = System.Text.Encoding.UTF8,
UseShellExecute = false,
WorkingDirectory = workingDirectory
)
use proc = new System.Diagnostics.Process (StartInfo = startInfo)
let output = System.Collections.Concurrent.ConcurrentStack<string> ()
let inline event error (e: System.Diagnostics.DataReceivedEventArgs) = async
{
if e.Data <> null then
match options.OnLine with
| Some onLine ->
do!
onLine
{
ProcessId = proc.Id
Line = e.Data
Error = error
}
| None -> ()
trace
Verbose
(fun () -> $"> {e.Data}")
Common.getLocals
output.Push
$"{
if error then '[['.ToString() else System.String.Empty
}{
e.Data
}{
if error then ']]'.ToString() else System.String.Empty
}"
}
proc.OutputDataReceived.Add (event false >> Async.StartImmediate)
proc.ErrorDataReceived.Add (event true >> Async.StartImmediate)
if proc.Start () |> not
then failwith $"executeAsync / proc.Start () error"
proc.BeginErrorReadLine ()
proc.BeginOutputReadLine ()
let! ct =
options.CancellationToken
|> Option.defaultValue System.Threading.CancellationToken.None
|> Async.mergeCancellationTokenWithDefaultAsync
use reg = ct.Register (fun _ ->
if not proc.HasExited then proc.Kill ()
)
let! exitCode = async {
try
do! proc.WaitForExitAsync ct |> Async.AwaitTask
return proc.ExitCode
with :? System.Threading.Tasks.TaskCanceledException as ex ->
trace Warning (fun () -> $"executeAsync / WaitForExitAsync / ex: {ex
|> printException}") getLocals
ex |> printException |> output.Push
return System.Int32.MinValue
}
let output = output |> Seq.rev |> String.concat "\n"
trace Debug (fun () ->
$"executeAsync / exitCode: {exitCode} / output.Length: {output.Length}"
) getLocals
return exitCode, output
}
let inline executeAsync command =
executeWithOptionsAsync
{
Command = command
CancellationToken = None
OnLine = None
WorkingDirectory = None
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let fileName = "test.txt"
let path = tempFolder </> fileName
async {
let! exitCode, result = executeAsync @$"pwsh -c ""Get-Content {path}"""
exitCode |> _equal 1
result |> _stringContains "not exist"
do! "0" |> FileSystem.writeAllTextAsync path
return!
executeWithOptionsAsync
{
Command = @$"pwsh -c ""Get-Content {fileName}"""
CancellationToken = None
OnLine = None
WorkingDirectory = Some tempFolder
}
}
|> Async.runWithTimeout 10000
|> function
| Some (exitCode, output) ->
exitCode |> _equal 0
output |> _equal "0"
true
| _ -> false
|> _equal true
╭─[ 2.26s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] executeAsync / options: { Command = │
│ "pwsh -c "Get-Content │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-0855-5578-52146 │
│ 9f8cc8b\test.txt"" │
│ WorkingDirectory = None │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:00 #2 [Verbose] > Get-Content: Cannot find path │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-0855-5578-5214 │
│ 69f8cc8b\test.txt' because it does not exist. │
│ 00:00:00 #3 [Debug] executeAsync / exitCode: 1 / output.Length: 171 │
│ 1 │
│ [Get-Content: Cannot find path │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-0855-5578-5214 │
│ 69f8cc8b\test.txt' because it does not exist.] │
│ 00:00:00 #4 [Debug] executeAsync / options: { Command = "pwsh -c │
│ "Get-Content test.txt"" │
│ WorkingDirectory = │
│ Some │
│ │
│ "C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-0855-5578-5214 │
│ 69f8cc8b" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:01 #5 [Verbose] > 0 │
│ 00:00:01 #6 [Debug] executeAsync / exitCode: 0 / output.Length: 1 │
│ 0 │
│ 0 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let path = tempFolder </> "test.txt"
let command = @$"pwsh -c ""Get-Content {path}"""
async {
do! "0" |> FileSystem.writeAllTextAsync path
let cts = new System.Threading.CancellationTokenSource ()
trace Debug (fun () -> "1") getLocals
let! result =
executeWithOptionsAsync
{
Command = command
CancellationToken = Some cts.Token
OnLine = None
WorkingDirectory = None
}
|> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 100
trace Debug (fun () -> "3") getLocals
cts.Cancel ()
trace Debug (fun () -> "4") getLocals
let! exitCode, output = result
trace Debug (fun () -> "5") getLocals
return exitCode, output
}
|> Async.runWithTimeout 10000
|> function
| Some (exitCode, output) ->
exitCode |> _equal -2147483648
output |> _equal "System.Threading.Tasks.TaskCanceledException: A task
was canceled."
true
| _ -> false
|> _equal true
╭─[ 629.52ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:02 #7 [Debug] 1 │
│ 00:00:02 #9 [Debug] 2 │
│ 00:00:02 #8 [Debug] executeAsync / options: { Command = │
│ "pwsh -c "Get-Content │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-1066-6686-6d622 │
│ 1e771b5\test.txt"" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = None } │
│ 00:00:02 #10 [Debug] 3 │
│ 00:00:02 #11 [Debug] 4 │
│ 00:00:02 #12 [Warning] executeAsync / WaitForExitAsync / ex: │
│ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
│ 00:00:02 #13 [Debug] executeAsync / exitCode: -2147483648 / output.Length: │
│ 66 │
│ 00:00:02 #14 [Debug] 5 │
│ -2147483648 │
│ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## splitArgs │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline splitArgs commandLine =
commandLine
|> System.CommandLine.Parsing.CommandLineStringSplitter.Instance.Split
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""a b "c d" e"""
|> splitArgs
|> Seq.toArray
|> _equal [[| "a"; "b"; "c d"; "e" |]]
╭─[ 31.87ms - stdout ]─────────────────────────────────────────────────────────╮
│ [ a, b, c d, e ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseArgs │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
let assemblyName =
System.Reflection.Assembly.GetEntryAssembly().GetName().Name
let errorHandler : Argu.IExiter =
if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
List.contains assemblyName
then Argu.ExceptionExiter ()
else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ ->
Some System.ConsoleColor.Red)
let parser =
Argu.ArgumentParser.Create<'T> (
programName = $"{assemblyName}{getExecutableSuffix ()}",
errorHandler = errorHandler
)
parser.ParseCommandLine args
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
Argu.ArguAttributes.Last>]]
Paths of paths : string list
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Paths _ -> nameof Paths
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 114.78ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] <paths>... │
│ │
│ PATHS: │
│ │
│ <paths>... Paths │
│ │
│ OPTIONS: │
│ │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> parseArgs<Arguments> [[||]] |> ignore
|> _throwsC (fun ex _ ->
printException ex
|> _stringContains "Argu.ArguParseException: ERROR: missing parameter
'<paths>...'."
)
╭─[ 57.49ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSI_0030+it@3-246 │
│ Argu.ArguParseException: ERROR: missing parameter '<paths>...'. │
│ USAGE: dotnet-repl.exe [--help] <paths>... │
│ │
│ PATHS: │
│ │
│ <paths>... Paths │
│ │
│ OPTIONS: │
│ │
│ --help display this list of options. │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
args
|> parseArgs<'T>
|> fun results -> results.GetAllResults ()
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
Argu.ArguAttributes.Last>]]
Paths of paths : string list
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Paths _ -> nameof Paths
parseAllArgs<Arguments> [[| "a b"; "c" |]]
|> _equal [[ Arguments.Paths [[ "a b"; "c" ]] ]]
╭─[ 109.15ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpList<Arguments> │
│ - paths: [ a b, c ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
args
|> parseAllArgs<'T>
|> List.groupBy CommonFSharp.getUnionCaseName<'T>
|> Map.ofList
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
parseArgsMap<Arguments> [[| "a b"; "c" |]]
|> _equal (
[[ nameof Arguments.Paths, [[ Arguments.Paths [[ "a b"; "c" ]] ]] ]]
|> Map.ofList
)
╭─[ 75.81ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpMap<String,FSharpList<Arguments>> │
│ - Key: Paths │
│ Value: FSharpList<Arguments> │
│ - paths: [ a b, c ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Runtime.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 338731 bytes to Runtime.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Toml (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/tomlyn/0.16.2/lib/net6.0/Tomlyn.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (/./) (table: Tomlyn.Model.TomlTable) (key: string) :
Tomlyn.Model.TomlTable =
table.[[key]] :?> Tomlyn.Model.TomlTable
let inline (/../) (table: Tomlyn.Model.TomlTable) (key: string) : 'T seq =
table.[[key]] :?> Tomlyn.Model.TomlArray |> Seq.cast<'T>
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tomlContent =
"""
[[extension]]
paths = [["/a", "/b"]]
"""
let toml = Tomlyn.Toml.Parse tomlContent
let tomlModel = Tomlyn.Toml.ToModel toml
let paths : string seq = tomlModel /./ "extension" /../ "paths"
paths
|> Seq.toList
|> _equal [[ "/a"; "/b" ]]
╭─[ 123.64ms - stdout ]────────────────────────────────────────────────────────╮
│ [ /a, /b ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Toml.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 276896 bytes to Toml.dib.html
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Common.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: AsyncSeq.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: CommonFSharp.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Networking.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: FileSystem.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Async.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Crypto.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Threading.dib
00:00:00 #6 [Debug] parseDibCode / output: Fs / file: Threading.dib
00:00:00 #6 [Debug] parseDibCode / output: Fs / file: Crypto.dib
00:00:00 #6 [Debug] parseDibCode / output: Fs / file: Networking.dib
00:00:00 #6 [Debug] parseDibCode / output: Fs / file: Common.dib
00:00:00 #8 [Debug] parseDibCode / output: Fs / file: AsyncSeq.dib
00:00:00 #6 [Debug] parseDibCode / output: Fs / file: FileSystem.dib
00:00:00 #7 [Debug] parseDibCode / output: Fs / file: Async.dib
00:00:00 #9 [Debug] parseDibCode / output: Fs / file: CommonFSharp.dib
00:00:00 #10 [Debug] writeDibCode / output: Fs / path: Runtime.dib
00:00:00 #10 [Debug] writeDibCode / output: Fs / path: Toml.dib
00:00:00 #11 [Debug] parseDibCode / output: Fs / file: Runtime.dib
00:00:00 #12 [Debug] parseDibCode / output: Fs / file: Toml.dib
In [ ]:
{ . "$ScriptDir/../apps/spiral/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Supervisor (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com
mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli
ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0
/lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0
/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/
7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll"
#r
@"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
rp.Json.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Threading.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Networking.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Threading =
open Common
/// ## newDisposableToken
let inline newDisposableToken (mergeToken:
System.Threading.CancellationToken option) =
let cts = new System.Threading.CancellationTokenSource ()
let cts =
match mergeToken with
| None -> cts
| Some mergeToken ->
System.Threading.CancellationTokenSource.CreateLinkedTokenSource
[[| cts.Token; mergeToken |]]
let disposable = newDisposable cts.Cancel
cts.Token, disposable
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FileSystem.Operators
open Microsoft.AspNetCore.SignalR.Client
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## sendJson │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sendJson (port : int) (json : string) = async {
let! portOpen = Networking.testPortOpen port
if portOpen then
try
let connection =
HubConnectionBuilder().WithUrl($"http://127.0.0.1:{port}").Build()
do! connection.StartAsync () |> Async.AwaitTask
let! result = connection.InvokeAsync<string>("ClientToServerMsg",
json) |> Async.AwaitTask
do! connection.StopAsync () |> Async.AwaitTask
trace Debug (fun () -> $"sendJson / port: {port} / json: {json} /
result.Length: {result |> Option.ofObj |> Option.map String.length}") getLocals
return Some result
with ex ->
trace Critical (fun () -> $"sendJson / port: {port} / json: {json} /
ex: {ex |> printException}") getLocals
return None
else
trace Debug (fun () -> "sendJson / error: port not open") getLocals
return None
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## sendObj │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sendObj port obj =
obj
|> System.Text.Json.JsonSerializer.Serialize
|> sendJson port
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## awaitCompiler │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type VSCPos = {| line : int; character : int |}
type VSCRange = VSCPos * VSCPos
type RString = VSCRange * string
type TracedError = {| trace : string list; message : string |}
type ClientErrorsRes =
| FatalError of string
| TracedError of TracedError
| PackageErrors of {| uri : string; errors : RString list |}
| TokenizerErrors of {| uri : string; errors : RString list |}
| ParserErrors of {| uri : string; errors : RString list |}
| TypeErrors of {| uri : string; errors : RString list |}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline awaitCompiler port cancellationToken = async {
let! ct =
cancellationToken
|> Option.defaultValue System.Threading.CancellationToken.None
|> Async.mergeCancellationTokenWithDefaultAsync
let cts = new System.Threading.CancellationTokenSource ()
let compiler = MailboxProcessor.Start (fun inbox -> async {
let! availablePort = Networking.getAvailablePort (Some 60) port
if availablePort <> port then
inbox.Post port
else
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let compilerPath =
repositoryRoot </> "deps/The-Spiral-Language/The Spiral Language
2/artifacts/bin/The Spiral Language 2/release"
|> System.IO.Path.GetFullPath
let dllPath = compilerPath </> "Spiral.dll"
let! exitCode, result =
Runtime.executeWithOptionsAsync
{
Command = $@"dotnet ""{dllPath}"" port={availablePort}"
CancellationToken = Some ct
WorkingDirectory = None
OnLine = Some <| fun { Line = line } -> async {
if line |> String.contains $"Server bound to:
http://localhost:{availablePort}" then
do! Networking.waitForPortAccess (Some 500) true
availablePort |> Async.Ignore
let rec loop retry = async {
let getLocals () = $"port: {availablePort} /
retry: {retry} / {getLocals ()}"
try
let pingObj = {| Ping = true |}
let! pingResult = pingObj |> sendObj
availablePort
trace Verbose (fun () -> $"awaitCompiler
/ Ping / result: {pingResult}") getLocals
with ex ->
trace Verbose (fun () -> $"awaitCompiler
/ Ping / ex: {ex |> printException}") getLocals
do! Async.Sleep 10
do! loop (retry + 1)
}
do! loop 0
inbox.Post availablePort
}
}
trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} /
result: {result}") getLocals
cts.Cancel ()
}, ct)
let! serverPort = compiler.Receive ()
let connection =
HubConnectionBuilder().WithUrl($"http://127.0.0.1:{serverPort}").Build ()
do! connection.StartAsync () |> Async.AwaitTask
let event = Event<_> ()
let disposable = connection.On<string> ("ServerToClientMsg", event.Trigger)
let stream =
FSharp.Control.AsyncSeq.unfoldAsync
(fun () -> async {
let! msg = event.Publish |> Async.AwaitEvent
return Some (msg |>
FSharp.Json.Json.deserialize<ClientErrorsRes>, ())
})
()
let disposable =
newDisposable (fun () ->
disposable.Dispose ()
connection.StopAsync () |> Async.AwaitTask |> Async.StartImmediate
)
return
serverPort,
stream,
cts.Token,
disposable
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getFileUri │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFileUri path =
$"file:///{path |> String.trimStart [[| '/' |]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFilePathFromUri uri =
match System.Uri.TryCreate (uri, System.UriKind.Absolute) with
| true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath
| _ -> failwith "invalid uri"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getCompilerPort () =
13805
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildFile timeout port cancellationToken path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let fileDir = fullPath |> System.IO.Path.GetDirectoryName
let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension
let! code = fullPath |> FileSystem.readAllTextAsync
let eventFilter = function
| FileSystem.FileSystemChange.Changed (path, _) when path =
$"{fileName}.fsx" -> true
| _ -> false
let stream, disposable = fileDir |> FileSystem.watchDirectory eventFilter
use _ = disposable
let token, disposable = Threading.newDisposableToken cancellationToken
use _ = disposable
let! serverPort, errors, ct, disposable = awaitCompiler port (Some token)
use _ = disposable
let fsxContentSeq =
stream
|> FSharp.Control.AsyncSeq.choose (function
| _, (FileSystem.FileSystemChange.Changed (path, Some content) as
event)
when event |> eventFilter
->
Some content
| _ -> None
)
|> FSharp.Control.AsyncSeq.map (fun content ->
Some (content |> String.replace "\r\n" "\n"), None
)
let inline printErrorData (data : {| uri : string; errors : RString list |})
=
let fileName = data.uri |> System.IO.Path.GetFileName
let errors =
data.errors
|> List.map snd
|> String.concat "\n"
$"{fileName}:\n{errors}"
let errorsSeq =
errors
|> FSharp.Control.AsyncSeq.choose (fun error ->
match error with
| FatalError message ->
Some (message, error)
| TracedError data ->
Some (data.message, error)
| PackageErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| TokenizerErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| ParserErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| TypeErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| _ -> None
)
|> FSharp.Control.AsyncSeq.map (fun (message, error) ->
None, Some (message, error)
)
let timerSeq =
1000
|> FSharp.Control.AsyncSeq.intervalMs
|> FSharp.Control.AsyncSeq.map (fun _ -> None, None)
let outputSeq =
[[ fsxContentSeq; errorsSeq; timerSeq ]]
|> FSharp.Control.AsyncSeq.mergeAll
let! outputChild =
((None, [[]], 0), outputSeq)
||> FSharp.Control.AsyncSeq.scan (
fun (fsxContentResult, errors, typeErrorCount) (fsxContent, error)
->
match fsxContent, error with
| Some fsxContent, None -> Some fsxContent, errors,
typeErrorCount
| None, Some (_, FatalError "File main has a type error
somewhere in its path.") ->
fsxContentResult, errors, typeErrorCount + 1
| None, Some error -> fsxContentResult, error :: errors,
typeErrorCount
| None, None when typeErrorCount >= 1 ->
fsxContentResult, errors, typeErrorCount + 1
| _ -> fsxContentResult, errors, typeErrorCount
)
|> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (fsxContent, errors,
typeErrorCount) ->
trace Debug (fun () -> $"buildFile / takeWhileInclusive /
fsxContent: {fsxContent} / errors: {errors} / typeErrorCount: {typeErrorCount}")
getLocals
match fsxContent, errors with
| None, [[]] when typeErrorCount > 2 -> false
| None, [[]] -> true
| _ -> false
)
|> FSharp.Control.AsyncSeq.tryLast
|> Async.withCancellationToken ct
|> Async.catch
|> Async.runWithTimeoutAsync timeout
|> Async.StartChild
let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText =
code |} |}
let! _fileOpenResult = fileOpenObj |> sendObj serverPort
do! Async.Sleep 30
let buildFileObj = {| BuildFile = {| uri = fullPath |> getFileUri; backend =
"Fsharp" |} |}
let! _buildFileResult = buildFileObj |> sendObj serverPort
return!
outputChild
|> Async.map (function
| Some (Ok (Some (message, errors, _))) -> message, errors |>
List.distinct |> List.rev
| Some (Error ex) ->
trace Critical (fun () -> $"buildFile / error: {ex |>
printException}") getLocals
None, [[]]
| _ -> None, [[]]
)
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## persistCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline persistCode code = async {
let tempDir = FileSystem.createTempDirectory ()
let mainPath = tempDir </> "main.spi"
do! code |> FileSystem.writeAllTextAsync mainPath
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let spiprojPath = tempDir </> "package.spiproj"
let spiprojCode =
$"""packageDir: {repositoryRoot </> "lib"}
packages:
|core-
spiral-
modules:
main
"""
do! spiprojCode |> FileSystem.writeAllTextAsync spiprojPath
let disposable = newDisposable (fun () ->
()
// tempDir |> FileSystem.deleteDirectoryAsync |> Async.Ignore |>
Async.RunSynchronously
)
return mainPath, disposable
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildCode timeout cancellationToken code = async {
let! mainPath, disposable = persistCode code
use _ = disposable
let port = getCompilerPort ()
return! mainPath |> buildFile timeout port cancellationToken
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let buildCode timeout cancellationToken code = buildCode timeout
cancellationToken code
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl app () =
console.write_line "text"
1i32
inl main () =
app
|> dyn
|> ignore
"""
|> buildCode 15000 None
|> Async.runWithTimeout 15000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
Some """let rec closure0 () () : int32 =
let v0 : string = "text"
System.Console.WriteLine v0
1
let v0 : (unit -> int32) = closure0()
()
""",
[[]]
)
)
╭─[ 3.20s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:00 #2 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:00 #4 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:01 #10 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:01 #11 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:01 #12 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\n console.write_line │
│ \u0022text\u0022\n 1i32\n\ninl main () =\n app\n |\u003E dyn\n │
│ |\u003E │
│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │
│ l\\20231108-0113-5684-8448-8b688e559436\\main.spi"}} / result.Length: │
│ 00:00:01 #13 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0113-5684-8448-8b688e559436\\main.spi"}} │
│ / result.Length: │
│ 00:00:01 #14 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0113-5684-8448-8b688 │
│ e559436\main.spi │
│ 00:00:02 #15 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:02 #16 [Debug] buildFile / takeWhileInclusive / fsxContent: Some(let │
│ rec closure0 () () : int32 = │
│ let v0 : string = "text" │
│ System.Console.WriteLine v0 │
│ 1 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ ) / errors: [] / typeErrorCount: 0 │
│ 00:00:02 #17 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - FSharpOption<String> │
│ Value: let rec closure0 () () : int32 = │
│ let v0 : string = "text" │
│ System.Console.WriteLine v0 │
│ 1 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ │
│ - [ ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> _equal None
╭─[ 10.28s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:03 #18 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:03 #19 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:03 #20 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:03 #21 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:03 #22 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:04 #23 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:04 #24 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:04 #25 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:04 #26 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:04 #27 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:04 #28 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\T │
│ emp\\!dotnet-repl\\20231108-0114-0009-0990-09fe75510238\\main.spi"}} / │
│ result.Length: │
│ 00:00:04 #29 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-0009-0990-09fe75510238\\main.spi"}} │
│ / result.Length: │
│ 00:00:04 #30 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-0009-0990-09fe7 │
│ 5510238\main.spi │
│ 00:00:05 #31 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:05 #32 [Verbose] > Cannot find `main` in file main. │
│ 00:00:05 #33 [Verbose] > Build skipped for │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-0009-0990-09fe7 │
│ 5510238\main.spi │
│ 00:00:06 #34 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:07 #35 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:08 #36 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:09 #37 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:10 #38 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:11 #39 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:12 #40 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:13 #41 [Debug] runWithTimeoutAsync / timeout: 10000 │
│ 00:00:13 #42 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"inl app () =
0i32
inl a = 1
inl main () =
app
|> dyn
|> ignore
"
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Global inl/let statements should all return functions known at parse time." ]]
)
)
╭─[ 1.74s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:13 #44 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:13 #45 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:13 #46 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:13 #47 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:14 #49 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:14 #51 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:14 #52 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:14 #53 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:14 #54 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:14 #55 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:14 #56 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\n 0i32\n\ninl a = 1\n\ninl main () │
│ =\n app\n |\u003E dyn\n |\u003E │
│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │
│ l\\20231108-0114-1036-3664-31b30b8e4640\\main.spi"}} / result.Length: │
│ 00:00:14 #57 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-1036-3664-31b30b8e4640\\main.spi"}} │
│ / result.Length: │
│ 00:00:14 #58 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1036-3664-31b30 │
│ b8e4640\main.spi │
│ 00:00:14 #59 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [(main.spi: │
│ Global inl/let statements should all return functions known at parse time., │
│ ParserErrors │
│ { errors = │
│ [(({ character = 0 │
│ line = 3 }, { character = 9 │
│ line = 3 }), │
│ "Global inl/let statements should all return functions known at parse │
│ time.")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1036-3 │
│ 664-31b30b8e4640\main.spi" })] / typeErrorCount: 0 │
│ 00:00:14 #60 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Global inl/let statements should all return functions known at parse time. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () =
1i32 / 0i32
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "An attempt to divide by zero has been detected at compile time." ]]
)
)
╭─[ 2.74s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:15 #61 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:15 #63 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:15 #64 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:15 #65 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:15 #66 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:16 #67 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:16 #68 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:16 #69 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:16 #70 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:16 #71 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:16 #72 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │
│ 0i32\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\ │
│ \20231108-0114-1216-1677-191393aae56e\\main.spi"}} / result.Length: │
│ 00:00:16 #73 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-1216-1677-191393aae56e\\main.spi"}} │
│ / result.Length: │
│ 00:00:16 #75 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1216-1677-19139 │
│ 3aae56e\main.spi │
│ 00:00:17 #76 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:17 #78 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [(An attempt to divide by zero has been detected at compile time., │
│ TracedError │
│ { message = "An attempt to divide by zero has been detected at compile │
│ time." │
│ trace = │
│ ["Error trace on line: 1, column: 10 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1216-1677-19139 │
│ 3aae56e\main.spi. │
│ inl main () = │
│ ^ │
│ "; │
│ "Error trace on line: 2, column: 5 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1216-1677-19139 │
│ 3aae56e\main.spi. │
│ 1i32 / 0i32 │
│ ^ │
│ "] })] / typeErrorCount: 0 │
│ 00:00:17 #79 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ An attempt to divide by zero has been detected at compile time. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () =
1 + ""
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[
"main.spi:
Constraint satisfaction error.
Got: string
Fails to satisfy: number"
]]
)
)
╭─[ 2.27s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:18 #80 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:18 #81 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:18 #82 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:18 #83 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:18 #85 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:18 #86 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:18 #87 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:18 #88 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:18 #89 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:18 #90 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:19 #91 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │
│ \u0022\u0022\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotn │
│ et-repl\\20231108-0114-1491-9154-945a9c842aa5\\main.spi"}} / result.Length: │
│ 00:00:19 #92 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-1491-9154-945a9c842aa5\\main.spi"}} │
│ / result.Length: │
│ 00:00:19 #93 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1491-9154-945a9 │
│ c842aa5\main.spi │
│ 00:00:19 #95 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 1 │
│ 00:00:19 #96 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [(main.spi: │
│ Constraint satisfaction error. │
│ Got: string │
│ Fails to satisfy: number, TypeErrors │
│ { errors = │
│ [(({ character = 8 │
│ line = 1 }, { character = 10 │
│ line = 1 }), │
│ "Constraint satisfaction error. │
│ Got: string │
│ Fails to satisfy: number")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1491-9 │
│ 154-945a9c842aa5\main.spi" })] / typeErrorCount: 1 │
│ 00:00:19 #97 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Constraint satisfaction error. │
│ Got: string │
│ Fails to satisfy: number ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () =
x + y
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[
"main.spi:
Unbound variable.
Unbound variable."
]]
)
)
╭─[ 2.29s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:20 #98 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:20 #100 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:20 #101 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:20 #102 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:21 #103 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:21 #104 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:21 #105 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:21 #106 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:21 #107 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:21 #108 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:21 #109 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () =\n x \u002B │
│ y\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231108-0114-1722-2290-25f3d6c8d41f\\main.spi"}} / result.Length: │
│ 00:00:21 #110 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-1722-2290-25f3d6c8d41f\\main.spi"}} │
│ / result.Length: │
│ 00:00:21 #112 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1722-2290-25f3d │
│ 6c8d41f\main.spi │
│ 00:00:22 #113 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 1 │
│ 00:00:22 #114 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 2 │
│ 00:00:22 #115 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [(main.spi: │
│ Unbound variable. │
│ Unbound variable., TypeErrors │
│ { errors = │
│ [(({ character = 4 │
│ line = 1 }, { character = 5 │
│ line = 1 }), "Unbound variable."); │
│ (({ character = 8 │
│ line = 1 }, { character = 9 │
│ line = 1 }), "Unbound variable.")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1722-2 │
│ 290-25f3d6c8d41f\main.spi" })] / typeErrorCount: 2 │
│ 00:00:22 #116 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Unbound variable. │
│ Unbound variable. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""union a =
| B
| c
inl main () =
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Expected: uppercase variable" ]]
)
)
╭─[ 1.82s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:22 #118 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:22 #119 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:22 #120 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:22 #121 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:23 #122 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:23 #124 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:23 #125 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:23 #126 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:23 #127 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:23 #128 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:23 #129 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"union a =\n | B\n | c\n\ninl main () =\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231108-0114-1959-5975-57bed7e849aa\\main.spi"}} / result.Length: │
│ 00:00:23 #130 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-1959-5975-57bed7e849aa\\main.spi"}} │
│ / result.Length: │
│ 00:00:24 #131 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1959-5975-57bed │
│ 7e849aa\main.spi │
│ 00:00:24 #132 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [(main.spi: │
│ Expected: uppercase variable, ParserErrors │
│ { errors = [(({ character = 6 │
│ line = 2 }, { character = 7 │
│ line = 2 }), "Expected: uppercase │
│ variable")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-1959-5 │
│ 975-57bed7e849aa\main.spi" })] / typeErrorCount: 0 │
│ 00:00:24 #133 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Expected: uppercase variable ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
/// abc
inl main () =
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Expected: whitespace" ]]
)
)
╭─[ 1.61s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:24 #135 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:24 #136 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:24 #137 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:24 #138 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:25 #139 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:25 #140 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:25 #141 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:25 #142 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:25 #143 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:25 #144 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:25 #145 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:25 #146 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\n/// abc\ninl main () =\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231108-0114-2141-4107-47149863a2e7\\main.spi"}} / result.Length: │
│ 00:00:25 #148 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-2141-4107-47149863a2e7\\main.spi"}} │
│ / result.Length: │
│ 00:00:25 #149 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [(main.spi: │
│ Expected: whitespace, TokenizerErrors │
│ { errors = [(({ character = 2 │
│ line = 1 }, { character = 3 │
│ line = 1 }), "Expected: whitespace")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2141-4 │
│ 107-47149863a2e7\main.spi" })] / typeErrorCount: 0 │
│ 00:00:25 #150 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Expected: whitespace ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl main () =
real
inl real_unbox forall a. (obj : a) : a =
typecase obj with
| _ => obj
real_unbox ()
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "Cannot apply a forall with a term." ]]
)
)
╭─[ 2.64s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:26 #151 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:26 #152 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:26 #153 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:26 #154 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:26 #156 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:27 #157 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:27 #158 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:27 #159 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:27 #160 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:27 #161 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:27 #162 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │
│ forall a. (obj : a) : a =\n typecase obj with\n | _ │
│ =\u003E obj\n real_unbox ()\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231108-0114-2308-0866-074441e83ebf\\main.spi"}} / result.Length: │
│ 00:00:27 #163 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-2308-0866-074441e83ebf\\main.spi"}} │
│ / result.Length: │
│ 00:00:27 #164 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2308-0866-07444 │
│ 1e83ebf\main.spi │
│ 00:00:28 #166 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:28 #167 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [(Cannot apply a forall with a term., TracedError │
│ { message = "Cannot apply a forall with a term." │
│ trace = │
│ ["Error trace on line: 2, column: 10 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2308-0866-07444 │
│ 1e83ebf\main.spi. │
│ inl main () = │
│ ^ │
│ "; │
│ "Error trace on line: 4, column: 9 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2308-0866-07444 │
│ 1e83ebf\main.spi. │
│ inl real_unbox forall a. (obj : a) : a = │
│ ^ │
│ "; │
│ "Error trace on line: 7, column: 9 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2308-0866-07444 │
│ 1e83ebf\main.spi. │
│ real_unbox () │
│ ^ │
│ "] })] / typeErrorCount: 0 │
│ 00:00:28 #168 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ Cannot apply a forall with a term. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl main () =
real
inl real_unbox forall a. (obj : a) : a =
typecase obj with
| _ => obj
real_unbox `i32 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "The main function should not have a forall." ]]
)
)
╭─[ 2.47s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:28 #170 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:28 #171 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:29 #172 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:29 #173 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:29 #174 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:29 #176 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:29 #177 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:29 #178 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:29 #179 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:29 #180 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:29 #181 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │
│ forall a. (obj : a) : a =\n typecase obj with\n | _ │
│ =\u003E obj\n real_unbox \u0060i32 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231108-0114-2574-7417-731c030c40f5\\main.spi"}} / result.Length: │
│ 00:00:29 #182 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-2574-7417-731c030c40f5\\main.spi"}} │
│ / result.Length: │
│ 00:00:30 #183 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2574-7417-731c0 │
│ 30c40f5\main.spi │
│ 00:00:30 #185 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:30 #186 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [(The main function should not have a forall., TracedError { message │
│ = "The main function should not have a forall." │
│ trace = [] })] / typeErrorCount: 0 │
│ 00:00:30 #187 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ The main function should not have a forall. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl init_series start end inc =
inl total : f64 = conv ((end - start) / inc) + 1
listm.init total (conv >> (*) inc >> (+) start) : list f64
type integration = (f64 -> f64) -> f64 -> f64 -> f64
inl integral dt : integration =
fun f a b =>
init_series (a + dt / 2) (b - dt / 2) dt
|> listm.map (f >> (*) dt)
|> listm.fold (+) 0
inl main () =
integral 0.1 (fun x => x ** 2) 0 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
Some "0.3325000000000001\n",
[[]]
)
)
╭─[ 2.62s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:31 #188 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:31 #189 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:31 #190 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:31 #191 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:32 #193 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:32 #194 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:32 #195 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:32 #196 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:32 #197 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:32 #198 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:32 #199 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │
│ f64 = conv ((end - start) / inc) \u002B 1\n listm.init total (conv │
│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype │
│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl │
│ integral dt : integration =\n fun f a b =\u003E\n init_series (a │
│ \u002B dt / 2) (b - dt / 2) dt\n |\u003E listm.map (f \u003E\u003E │
│ (*) dt)\n |\u003E listm.fold (\u002B) 0\n\ninl main () =\n │
│ integral 0.1 (fun x =\u003E x ** 2) 0 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231108-0114-2821-2111-2a1ede673a32\\main.spi"}} / result.Length: │
│ 00:00:32 #200 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-2821-2111-2a1ede673a32\\main.spi"}} │
│ / result.Length: │
│ 00:00:32 #201 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-2821-2111-2a1ed │
│ e673a32\main.spi │
│ 00:00:33 #203 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:33 #204 [Debug] buildFile / takeWhileInclusive / fsxContent: │
│ Some(0.3325000000000001 │
│ ) / errors: [] / typeErrorCount: 0 │
│ 00:00:33 #205 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - FSharpOption<String> │
│ Value: 0.3325000000000001 │
│ │
│ - [ ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl init_series start end inc =
inl total : f64 = conv ((end - start) / inc) + 1
listm.init total (conv >> (*) inc >> (+) start) : list f64
type integration = (f64 -> f64) -> f64 -> f64 -> f64
inl integral dt : integration =
fun f a b =>
init_series (a + dt / 2) (b - dt / 2) dt
|> listm.map (f >> (*) dt)
|> listm.fold (+) 0
inl main () =
integral 0.01 (fun x => x ** 2) 0 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
// |> _equal None
// |> fun x -> printfn $"{x.ToDisplayString ()}"
╭─[ 7.73s - return value ]─────────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Some((, [ │
│ ]))</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Value</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(, [ │
│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>Item2</ │
│ td><td><div class="dni-plaintext"><pre>[ │
│ ]</pre></div></td></tr></tbody></table></div></details></td></tr></tbody></t │
│ able></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ ve... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 7.76s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:33 #207 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:33 #208 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-983> } │
│ 00:00:34 #209 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:34 #210 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:34 #211 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:34 #213 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:34 #214 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:34 #215 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:34 #216 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:34 #217 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:34 #218 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │
│ f64 = conv ((end - start) / inc) \u002B 1\n listm.init total (conv │
│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype │
│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl │
│ integral dt : integration =\n fun f a b =\u003E\n init_series (a │
│ \u002B dt / 2) (b - dt / 2) dt\n |\u003E listm.map (f \u003E\u003E │
│ (*) dt)\n |\u003E listm.fold (\u002B) 0\n\ninl main () =\n │
│ integral 0.01 (fun x =\u003E x ** 2) 0 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231108-0114-3079-7977-788cc2a2af49\\main.spi"}} / result.Length: │
│ 00:00:34 #219 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231108-0114-3079-7977-788cc2a2af49\\main.spi"}} │
│ / result.Length: │
│ 00:00:35 #220 [Verbose] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-3079-7977-788cc │
│ 2a2af49\main.spi │
│ 00:00:35 #222 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:36 #223 [Verbose] > Stack overflow. │
│ 00:00:36 #224 [Verbose] > Repeat 3 times: │
│ 00:00:36 #225 [Verbose] > -------------------------------- │
│ 00:00:36 #226 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #227 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #228 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #229 [Verbose] > -------------------------------- │
│ 00:00:36 #230 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #231 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #232 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #233 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #234 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #235 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #236 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #237 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #238 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #239 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #240 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #241 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #242 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #243 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #244 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #245 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #246 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #247 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #248 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #249 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #250 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #251 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #252 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #253 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #254 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #255 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #256 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #257 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #258 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #259 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #260 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #261 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #262 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #263 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #264 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #265 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #266 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #267 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #268 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #269 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #270 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #271 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #272 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #273 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #274 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #275 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #276 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #277 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #278 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #279 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #280 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #281 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #282 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #283 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #284 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #285 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #286 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #287 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #288 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #289 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #290 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #291 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #292 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #293 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #294 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #295 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #296 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #297 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #298 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #299 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #300 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #301 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #302 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #303 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #304 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #305 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #306 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #307 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #308 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #309 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #310 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #311 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #312 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #313 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #314 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #315 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #316 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #317 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #318 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #319 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #320 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #321 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #322 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #323 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #324 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #325 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #326 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #327 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #328 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #329 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #330 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #331 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #332 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #333 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #334 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #335 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #336 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #337 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #338 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #339 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #340 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #341 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #342 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #343 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #344 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #345 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #346 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #347 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #348 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #349 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #350 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #351 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #352 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #353 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #354 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #355 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #356 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #357 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #358 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #359 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #360 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #361 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #362 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #363 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #364 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #365 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #366 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #367 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #368 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #369 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #370 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #371 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #372 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #373 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #374 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #375 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #376 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #377 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #378 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #379 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #380 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #381 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #382 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #383 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #384 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #385 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #386 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #387 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #388 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #389 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #390 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #391 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #392 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #393 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #394 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #395 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #396 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #397 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #398 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #399 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #400 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #401 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #402 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #403 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #404 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #405 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #406 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #407 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #408 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #409 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #410 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #411 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #412 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #413 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #414 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #415 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #416 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #417 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #418 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #419 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #420 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #421 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #422 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #423 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #424 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #425 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #426 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #427 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #428 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #429 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #430 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #431 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #432 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #433 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #434 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #435 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #436 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #437 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #438 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #439 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #440 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #441 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #442 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #443 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #444 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #445 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #446 [Verbose] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:36 #447 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #448 [Verbose] > at │
│ Spiral.PartEval.Main.term_scope''@574(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #449 [Verbose] > at Spiral.PartEval.Main.term_scope'@578(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, │
│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E) │
│ 00:00:36 #450 [Verbose] > at Spiral.PartEval.Main.term_scope@579(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:36 #451 [Verbose] > at Spiral.PartEval.Main.peval(TopEnv, E) │
│ 00:00:36 #452 [Verbose] > at │
│ Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, │
│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, │
│ Microsoft.FSharp.Core.Unit) │
│ 00:00:36 #453 [Verbose] > at │
│ Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, │
│ System.String, SupervisorState, PrepassTopEnv) │
│ 00:00:36 #454 [Verbose] > at │
│ Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv) │
│ 00:00:36 #455 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #456 [Verbose] > at Hopac.Job+result@1000-1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #457 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #458 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #459 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #460 [Verbose] > at Hopac.Job+result@1000-1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #461 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #462 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #463 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #464 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #465 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #466 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #467 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #468 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #469 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #470 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #471 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #472 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #473 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #474 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #475 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #476 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #477 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #478 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #479 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #480 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #481 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #482 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #483 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #484 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #485 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #486 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #487 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #488 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #489 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #490 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #491 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #492 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #493 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #494 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #495 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #496 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #497 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #498 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #499 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #500 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #501 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #502 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #503 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #504 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #505 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #506 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #507 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #508 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #509 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #510 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #511 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #512 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #513 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #514 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #515 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #516 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #517 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #518 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #519 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #520 [Verbose] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #521 [Verbose] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #522 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #523 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #524 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #525 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #526 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #527 [Verbose] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:36 #528 [Verbose] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:36 #529 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:36 #530 [Verbose] > at Hopac.Core.JobWork`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef) │
│ 00:00:36 #531 [Verbose] > at Hopac.Core.Worker.Run(Hopac.Scheduler, │
│ Int32) │
│ 00:00:36 #532 [Verbose] > at Hopac.Platform.Scheduler+thread@30.Invoke() │
│ 00:00:36 #533 [Verbose] > at │
│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │
│ ext, System.Threading.ContextCallback, System.Object) │
│ 00:00:36 #535 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:37 #537 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:38 #539 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:39 #541 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:40 #543 [Debug] buildFile / takeWhileInclusive / fsxContent: / │
│ errors: [] / typeErrorCount: 0 │
│ 00:00:41 #544 [Debug] executeAsync / exitCode: -1073741571 / output.Length: │
│ 170941 │
│ 00:00:41 #545 [Debug] awaitCompiler / exitCode: -1073741571 / result: pwd: │
│ C:\home\git\polyglot\apps\spiral │
│ dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ Server bound to: http://localhost:13805 │
│ Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0114-3079-7977-788cc │
│ 2a2af49\main.spi │
│ [Stack overflow.] │
│ [Repeat 3 times:] │
│ [--------------------------------] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [--------------------------------] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term_scope''@574(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term_scope'@578(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, │
│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E)] │
│ [ at Spiral.PartEval.Main.term_scope@579(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.peval(TopEnv, E)] │
│ [ at Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, │
│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, │
│ Microsoft.FSharp.Core.Unit)] │
│ [ at Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, │
│ System.String, SupervisorState, PrepassTopEnv)] │
│ [ at Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobWork`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef)] │
│ [ at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)] │
│ [ at Hopac.Platform.Scheduler+thread@30.Invoke()] │
│ [ at │
│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │
│ ext, System.Threading.ContextCallback, System.Object)] │
│ 00:00:41 #546 [Critical] buildFile / error: System.AggregateException: One │
│ or more errors occurred. (One or more errors occurred. (A task was │
│ canceled.)) │
│ 00:00:41 #547 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getFileTokenRange │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFileTokenRange port cancellationToken path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let! code = fullPath |> FileSystem.readAllTextAsync
let lines = code |> String.split [[| '\n' |]]
let token, disposable = Threading.newDisposableToken cancellationToken
use _ = disposable
let! serverPort, _errors, ct, disposable = awaitCompiler port (Some token)
use _ = disposable
let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText =
code |} |}
let! _fileOpenResult = fileOpenObj |> sendObj serverPort
let fileTokenRangeObj =
{|
FileTokenRange =
{|
uri = fullPath |> getFileUri
range =
[[|
{| line = 0; character = 0 |}
{| line = lines.Length - 1; character =
lines.[[lines.Length - 1]].Length |}
|]]
|}
|}
let! fileTokenRangeResult =
fileTokenRangeObj
|> sendObj serverPort
|> Async.withCancellationToken ct
return fileTokenRangeResult |> Option.map FSharp.Json.Json.deserialize<int
array>
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getCodeTokenRange │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getCodeTokenRange cancellationToken code = async {
let! mainPath, disposable = persistCode code
use _ = disposable
let port = getCompilerPort ()
return! mainPath |> getFileTokenRange port cancellationToken
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () = ()"""
|> getCodeTokenRange None
|> Async.runWithTimeout 10000
|> Option.flatten
|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0;
0; 2; 1; 4; 0; 0;
2; 1; 8; 0; 0; 1; 1; 8; 0 |]])
╭─[ 5.17s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:53 #559 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:53 #560 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:it@4-434> } │
│ 00:00:53 #561 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:53 #562 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:54 #564 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:54 #565 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:54 #566 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:54 #567 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:54 #568 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () = │
│ ()","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\202 │
│ 31108-0114-5039-3925-35105bc01ac6\\main.spi"}} / result.Length: │
│ 00:00:54 #569 [Debug] sendJson / port: 13805 / json: │
│ {"FileTokenRange":{"range":[ │
│ {"character":0,"line":0},{"character":16,"line":0}],"uri":"file:///C:\\Users │
│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231108-0114-5039-3925-35105bc │
│ 01ac6\\main.spi"}} / result.Length: Some(213) │
│ FSharpOption<Int32[]> │
│ Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0, │
│ 0, 2, 1, 4, 0, 0, 2, 1, 8, 0, 0, 1, 1, 8, 0 ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () = 1i32"""
|> getCodeTokenRange None
|> Async.runWithTimeout 10000
|> Option.flatten
|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0;
0; 2; 1; 4; 0; 0;
2; 1; 3; 0; 0; 1; 3; 12; 0 |]])
╭─[ 5.31s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:58 #574 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:58 #575 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:it@4-801> } │
│ 00:00:59 #576 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:59 #577 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:59 #579 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:59 #580 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:59 #581 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:59 #582 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:59 #583 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () = │
│ 1i32","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231108-0114-5570-7012-79d8d8708b1e\\main.spi"}} / result.Length: │
│ 00:01:00 #584 [Debug] sendJson / port: 13805 / json: │
│ {"FileTokenRange":{"range":[ │
│ {"character":0,"line":0},{"character":18,"line":0}],"uri":"file:///C:\\Users │
│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231108-0114-5570-7012-79d8d87 │
│ 08b1e\\main.spi"}} / result.Length: Some(214) │
│ FSharpOption<Int32[]> │
│ Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0, │
│ 0, 2, 1, 4, 0, 0, 2, 1, 3, 0, 0, 1, 3, 12, 0 ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| Build_File of string * string
| File_Token_Range of string * string
| Execute_Command of string
| Timeout of int
| Port of int
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Build_File _ -> nameof Build_File
| File_Token_Range _ -> nameof File_Token_Range
| Execute_Command _ -> nameof Execute_Command
| Timeout _ -> nameof Timeout
| Port _ -> nameof Port
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 148.80ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] [--build-file <string> <string>] │
│ [--file-token-range <string> <string>] │
│ [--execute-command <string>] [--timeout <int>] [--port │
│ <int>] │
│ │
│ OPTIONS: │
│ │
│ --build-file <string> <string> │
│ Build_File │
│ --file-token-range <string> <string> │
│ File_Token_Range │
│ --execute-command <string> │
│ Execute_Command │
│ --timeout <int> Timeout │
│ --port <int> Port │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let buildFileActions =
argsMap
|> Map.tryFind (nameof Arguments.Build_File)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.Build_File (inputPath, outputPath) -> Some (inputPath,
outputPath)
| _ -> None
)
let fileTokenRangeActions =
argsMap
|> Map.tryFind (nameof Arguments.File_Token_Range)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.File_Token_Range (inputPath, outputPath) -> Some
(inputPath, outputPath)
| _ -> None
)
let executeCommandActions =
argsMap
|> Map.tryFind (nameof Arguments.Execute_Command)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.Execute_Command command -> Some command
| _ -> None
)
let timeout =
match argsMap |> Map.tryFind (nameof Arguments.Timeout) with
| Some [[ Arguments.Timeout timeout ]] -> timeout
| _ -> 60000 * 60
let port =
match argsMap |> Map.tryFind (nameof Arguments.Port) with
| Some [[ Arguments.Port port ]] -> Some port
| _ -> None
async {
let! buildFileResult =
buildFileActions
|> List.map (fun (inputPath, outputPath) -> async {
let port = port |> Option.defaultWith getCompilerPort
let! outputCode, errors = inputPath |> buildFile timeout port
None
errors
|> List.map snd
|> List.iter (fun error ->
trace Critical (fun () -> $"main / error: {error}")
getLocals
)
match outputCode with
| Some outputCode ->
do! outputCode |> FileSystem.writeAllTextAsync outputPath
return 0
| None ->
return 1
})
|> Async.Sequential
let! fileTokenRangeResult =
fileTokenRangeActions
|> List.map (fun (inputPath, outputPath) -> async {
let port = port |> Option.defaultWith getCompilerPort
let! tokenRange = inputPath |> getFileTokenRange port None
match tokenRange with
| Some tokenRange ->
do! tokenRange |> FSharp.Json.Json.serialize |>
FileSystem.writeAllTextAsync outputPath
return 0
| None ->
return 1
})
|> Async.Sequential
let! executeCommandResult =
executeCommandActions
|> List.map (fun command -> async {
let port = port |> Option.defaultWith getCompilerPort
let localToken, disposable = Threading.newDisposableToken None
use _ = disposable
let! serverPort, _errors, compilerToken, disposable =
awaitCompiler port (Some localToken)
use _ = disposable
let! exitCode, result =
Runtime.executeWithOptionsAsync
{
Command = command
CancellationToken = Some compilerToken
WorkingDirectory = None
OnLine = None
}
trace Debug (fun () -> $"main / executeCommand / exitCode:
{exitCode}") getLocals
return exitCode
})
|> Async.Sequential
return
[[| buildFileResult; fileTokenRangeResult; executeCommandResult |]]
|> Array.collect id
|> Array.sum
}
|> Async.runWithTimeout timeout
|> Option.defaultValue 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 30.72ms - return value ]───────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Supervisor.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 834370 bytes to Supervisor.dib.html
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: Tasks.dib
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Supervisor.dib
00:00:00 #3 [Debug] parseDibCode / output: Spi / file: Tasks.dib
00:00:00 #3 [Debug] parseDibCode / output: Fs / file: Supervisor.dib
00:00:00 #1 [Debug] persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [lib/fsharp/Common.fs; lib/fsharp/CommonFSharp.fs; lib/fsharp/Threading.fs; ... ] / dir: C:\home\git\polyglot\apps\spiral / name: Supervisor / code.Length: 18703
00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj
00:00:00 #3 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj" --configuration Release --output ../dist --runtime linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"
CancellationToken = None
OnLine = None }
00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:00 #5 [Verbose] > Determining projects to restore...
00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 434 ms).
00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]
00:00:15 #8 [Verbose] > Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\Release\net8.0\linux-x64\Supervisor.dll
00:00:16 #9 [Verbose] > Supervisor -> C:\home\git\polyglot\apps\spiral\dist\
00:00:16 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 632
00:00:16 #11 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj" --configuration Release --output ../dist --runtime win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"
CancellationToken = None
OnLine = None }
00:00:16 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:17 #13 [Verbose] > Determining projects to restore...
00:00:18 #14 [Verbose] > Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 486 ms).
00:00:18 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]
00:00:31 #16 [Verbose] > Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\Release\net8.0\win-x64\Supervisor.dll
00:00:36 #17 [Verbose] > Supervisor -> C:\home\git\polyglot\apps\spiral\dist\
00:00:36 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 630
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 Tasks.dib -Retries 3""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ ## Tasks (Polyglot) │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-0658-5889-5c45f0910a7e\main.spi
00:00:10 #22 [Verbose] >
00:00:10 #23 [Verbose] > ╭─[ 5.82s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #24 [Verbose] > │ () │
00:00:10 #25 [Verbose] > │ │
00:00:10 #26 [Verbose] > │ │
00:00:10 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #28 [Verbose] >
00:00:10 #29 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #30 [Verbose] > inl types () =
00:00:10 #31 [Verbose] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"std::string::String\")>]]
00:00:10 #32 [Verbose] > type std_string_String = class end"
00:00:10 #33 [Verbose] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"&$0\")>]] type Ref<'T> =
00:00:10 #34 [Verbose] > class end"
00:00:10 #35 [Verbose] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"str\")>]] type Str = class
00:00:10 #36 [Verbose] > end"
00:00:10 #37 [Verbose] >
00:00:10 #38 [Verbose] > inl emit_expr forall a t. (args : a) (code : string) : t =
00:00:10 #39 [Verbose] > real
00:00:10 #40 [Verbose] > $"Fable.Core.RustInterop.emitRustExpr !args !code" : t
00:00:10 #41 [Verbose] >
00:00:10 #42 [Verbose] >
00:00:10 #43 [Verbose] > nominal std_string = $"std_string_String"
00:00:10 #44 [Verbose] > nominal ref' t = $"Ref<`t>"
00:00:10 #45 [Verbose] > nominal str = $"Str"
00:00:10 #46 [Verbose] >
00:00:10 #47 [Verbose] > inl format_debug forall t. (x : t) : std_string =
00:00:10 #48 [Verbose] > real
00:00:10 #49 [Verbose] > emit_expr `t `std_string x "format!(\"{:?}\", $0)"
00:00:10 #50 [Verbose] >
00:00:10 #51 [Verbose] > inl format_pretty forall t. (x : t) : std_string =
00:00:10 #52 [Verbose] > real
00:00:10 #53 [Verbose] > emit_expr `t `std_string x "format!(\"{:#?}\", $0)"
00:00:10 #54 [Verbose] >
00:00:10 #55 [Verbose] > inl to_std_string (str : ref' str) : std_string =
00:00:10 #56 [Verbose] > // inl str = join str
00:00:10 #57 [Verbose] > // // emit_expr () $"\"!str.to_string()\""
00:00:10 #58 [Verbose] > // // emit_expr () $"\"alloc::string::to_string(!str)\""
00:00:10 #59 [Verbose] > // emit_expr str "($0).to_string()"
00:00:10 #60 [Verbose] > emit_expr str $"\"String::from(core::ops::Deref::deref($0))\""
00:00:10 #61 [Verbose] > // emit_expr str $"\"String::from(*$0)\""
00:00:10 #62 [Verbose] > // emit_expr () $"\"String::from(!str)\""
00:00:10 #63 [Verbose] >
00:00:10 #64 [Verbose] > inl format forall t. (x : t) : std_string =
00:00:10 #65 [Verbose] > real
00:00:10 #66 [Verbose] > inl result : std_string =
00:00:10 #67 [Verbose] > typecase t with
00:00:10 #68 [Verbose] > | string => to_std_string x
00:00:10 #69 [Verbose] > | std_string => x
00:00:10 #70 [Verbose] > | _ => format_pretty `t x
00:00:10 #71 [Verbose] > result
00:00:10 #72 [Verbose] >
00:00:10 #73 [Verbose] > inl raw_string_literal (s : string) : ref' str =
00:00:10 #74 [Verbose] > emit_expr () $"\"r#\\\"\" + !s + \"\\\"#\""
00:00:10 #75 [Verbose] >
00:00:10 #76 [Verbose] > inl (~#) (s : string) : ref' str =
00:00:10 #77 [Verbose] > raw_string_literal s
00:00:10 #78 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-0978-7886-79df5ea61bd3\main.spi
00:00:10 #79 [Verbose] >
00:00:10 #80 [Verbose] > ╭─[ 202.22ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #81 [Verbose] > │ () │
00:00:10 #82 [Verbose] > │ │
00:00:10 #83 [Verbose] > │ │
00:00:10 #84 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #85 [Verbose] >
00:00:10 #86 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #87 [Verbose] > nominal task_name = string
00:00:10 #88 [Verbose] >
00:00:10 #89 [Verbose] > union manual_scheduling =
00:00:10 #90 [Verbose] > | WithSuggestion
00:00:10 #91 [Verbose] > | WithoutSuggestion
00:00:10 #92 [Verbose] >
00:00:10 #93 [Verbose] > union recurrency_offset =
00:00:10 #94 [Verbose] > | Days : i32
00:00:10 #95 [Verbose] > | Weeks : i32
00:00:10 #96 [Verbose] > | Months : i32
00:00:10 #97 [Verbose] >
00:00:10 #98 [Verbose] > union day_of_week =
00:00:10 #99 [Verbose] > | Sunday
00:00:10 #100 [Verbose] > | Monday
00:00:10 #101 [Verbose] > | Tuesday
00:00:10 #102 [Verbose] > | Wednesday
00:00:10 #103 [Verbose] > | Thursday
00:00:10 #104 [Verbose] > | Friday
00:00:10 #105 [Verbose] > | Saturday
00:00:10 #106 [Verbose] >
00:00:10 #107 [Verbose] > union month =
00:00:10 #108 [Verbose] > | January
00:00:10 #109 [Verbose] > | February
00:00:10 #110 [Verbose] > | March
00:00:10 #111 [Verbose] > | April
00:00:10 #112 [Verbose] > | May
00:00:10 #113 [Verbose] > | June
00:00:10 #114 [Verbose] > | July
00:00:10 #115 [Verbose] > | August
00:00:10 #116 [Verbose] > | September
00:00:10 #117 [Verbose] > | October
00:00:10 #118 [Verbose] > | November
00:00:10 #119 [Verbose] > | December
00:00:10 #120 [Verbose] >
00:00:10 #121 [Verbose] > nominal day = i32
00:00:10 #122 [Verbose] > nominal year = i32
00:00:10 #123 [Verbose] >
00:00:10 #124 [Verbose] > union fixed_recurrency =
00:00:10 #125 [Verbose] > | Weekly : day_of_week
00:00:10 #126 [Verbose] > | Monthly : day
00:00:10 #127 [Verbose] > | Yearly : day * month
00:00:10 #128 [Verbose] >
00:00:10 #129 [Verbose] > union recurrency =
00:00:10 #130 [Verbose] > | Offset : recurrency_offset
00:00:10 #131 [Verbose] > | Fixed : list fixed_recurrency
00:00:10 #132 [Verbose] >
00:00:10 #133 [Verbose] > union scheduling =
00:00:10 #134 [Verbose] > | Manual : manual_scheduling
00:00:10 #135 [Verbose] > | Recurrent : recurrency
00:00:10 #136 [Verbose] >
00:00:10 #137 [Verbose] > type task =
00:00:10 #138 [Verbose] > {
00:00:10 #139 [Verbose] > name : task_name
00:00:10 #140 [Verbose] > scheduling : scheduling
00:00:10 #141 [Verbose] > }
00:00:10 #142 [Verbose] >
00:00:10 #143 [Verbose] > type date =
00:00:10 #144 [Verbose] > {
00:00:10 #145 [Verbose] > year : year
00:00:10 #146 [Verbose] > month : month
00:00:10 #147 [Verbose] > day : day
00:00:10 #148 [Verbose] > }
00:00:10 #149 [Verbose] >
00:00:10 #150 [Verbose] > union status =
00:00:10 #151 [Verbose] > | Postponed : option ()
00:00:10 #152 [Verbose] >
00:00:10 #153 [Verbose] > type event =
00:00:10 #154 [Verbose] > {
00:00:10 #155 [Verbose] > date : date
00:00:10 #156 [Verbose] > status : status
00:00:10 #157 [Verbose] > }
00:00:10 #158 [Verbose] >
00:00:10 #159 [Verbose] > type task_template =
00:00:10 #160 [Verbose] > {
00:00:10 #161 [Verbose] > task : task
00:00:10 #162 [Verbose] > events : list event
00:00:10 #163 [Verbose] > }
00:00:10 #164 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-0998-9848-979b1225090b\main.spi
00:00:10 #165 [Verbose] >
00:00:10 #166 [Verbose] > ╭─[ 184.42ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #167 [Verbose] > │ () │
00:00:10 #168 [Verbose] > │ │
00:00:10 #169 [Verbose] > │ │
00:00:10 #170 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #171 [Verbose] >
00:00:10 #172 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #173 [Verbose] > // // test
00:00:10 #174 [Verbose] > // // rust=
00:00:10 #175 [Verbose] >
00:00:10 #176 [Verbose] > types ()
00:00:10 #177 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-1017-1714-1829f1a8ccd5\main.spi
00:00:16 #178 [Verbose] >
00:00:16 #179 [Verbose] > ╭─[ 6.17s - return value ]─────────────────────────────────────────────────────╮
00:00:16 #180 [Verbose] > │ .rs output: │
00:00:16 #181 [Verbose] > │ │
00:00:16 #182 [Verbose] > │ │
00:00:16 #183 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #184 [Verbose] >
00:00:16 #185 [Verbose] > ╭─[ 6.18s - stdout ]───────────────────────────────────────────────────────────╮
00:00:16 #186 [Verbose] > │ │
00:00:16 #187 [Verbose] > │ .fsx: │
00:00:16 #188 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] type │
00:00:16 #189 [Verbose] > │ std_string_String = class end │
00:00:16 #190 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] type Ref<'T> = class end │
00:00:16 #191 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("str")>] type Str = class end │
00:00:16 #192 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #193 [Verbose] > │ () │
00:00:16 #194 [Verbose] > │ method0() │
00:00:16 #195 [Verbose] > │ │
00:00:16 #196 [Verbose] > │ .rs: │
00:00:16 #197 [Verbose] > │ #![allow(dead_code,)] │
00:00:16 #198 [Verbose] > │ #![allow(non_camel_case_types,)] │
00:00:16 #199 [Verbose] > │ #![allow(non_snake_case,)] │
00:00:16 #200 [Verbose] > │ #![allow(non_upper_case_globals,)] │
00:00:16 #201 [Verbose] > │ #![allow(unreachable_code,)] │
00:00:16 #202 [Verbose] > │ #![allow(unused_attributes,)] │
00:00:16 #203 [Verbose] > │ #![allow(unused_imports,)] │
00:00:16 #204 [Verbose] > │ #![allow(unused_macros,)] │
00:00:16 #205 [Verbose] > │ #![allow(unused_parens,)] │
00:00:16 #206 [Verbose] > │ #![allow(unused_variables,)] │
00:00:16 #207 [Verbose] > │ mod module_3acfb8b4 { │
00:00:16 #208 [Verbose] > │ pub mod Repl_main { │
00:00:16 #209 [Verbose] > │ use super::*; │
00:00:16 #210 [Verbose] > │ use fable_library_rust::Native_::on_startup; │
00:00:16 #211 [Verbose] > │ pub fn method0() { (); } │
00:00:16 #212 [Verbose] > │ on_startup!(Repl_main::method0()); │
00:00:16 #213 [Verbose] > │ } │
00:00:16 #214 [Verbose] > │ } │
00:00:16 #215 [Verbose] > │ pub use module_3acfb8b4::*; │
00:00:16 #216 [Verbose] > │ │
00:00:16 #217 [Verbose] > │ │
00:00:16 #218 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #219 [Verbose] >
00:00:16 #220 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #221 [Verbose] > // // test
00:00:16 #222 [Verbose] > // // rust=
00:00:16 #223 [Verbose] >
00:00:16 #224 [Verbose] > inl get_tasks () : list task_template =
00:00:16 #225 [Verbose] > [[
00:00:16 #226 [Verbose] > {
00:00:16 #227 [Verbose] > task =
00:00:16 #228 [Verbose] > {
00:00:16 #229 [Verbose] > name = task_name "01"
00:00:16 #230 [Verbose] > scheduling = Manual WithSuggestion
00:00:16 #231 [Verbose] > }
00:00:16 #232 [Verbose] > events = [[]]
00:00:16 #233 [Verbose] > }
00:00:16 #234 [Verbose] > {
00:00:16 #235 [Verbose] > task =
00:00:16 #236 [Verbose] > {
00:00:16 #237 [Verbose] > name = task_name "02"
00:00:16 #238 [Verbose] > scheduling = Manual WithSuggestion
00:00:16 #239 [Verbose] > }
00:00:16 #240 [Verbose] > events = [[]]
00:00:16 #241 [Verbose] > }
00:00:16 #242 [Verbose] > {
00:00:16 #243 [Verbose] > task =
00:00:16 #244 [Verbose] > {
00:00:16 #245 [Verbose] > name = task_name "03"
00:00:16 #246 [Verbose] > scheduling = Manual WithSuggestion
00:00:16 #247 [Verbose] > }
00:00:16 #248 [Verbose] > events = [[]]
00:00:16 #249 [Verbose] > }
00:00:16 #250 [Verbose] > ]]
00:00:16 #251 [Verbose] >
00:00:16 #252 [Verbose] > types ()
00:00:16 #253 [Verbose] > get_tasks () |> format_pretty |> console.write_line
00:00:16 #254 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-1637-3719-340785a68a80\main.spi
00:00:22 #255 [Verbose] >
00:00:22 #256 [Verbose] > ╭─[ 6.32s - return value ]─────────────────────────────────────────────────────╮
00:00:22 #257 [Verbose] > │ .rs output: │
00:00:22 #258 [Verbose] > │ UH2_0( │
00:00:22 #259 [Verbose] > │ UH0_1, │
00:00:22 #260 [Verbose] > │ "01", │
00:00:22 #261 [Verbose] > │ US4_0( │
00:00:22 #262 [Verbose] > │ US3_0, │
00:00:22 #263 [Verbose] > │ ), │
00:00:22 #264 [Verbose] > │ UH2_0( │
00:00:22 #265 [Verbose] > │ UH0_1, │
00:00:22 #266 [Verbose] > │ "02", │
00:00:22 #267 [Verbose] > │ US4_0( │
00:00:22 #268 [Verbose] > │ US3_0, │
00:00:22 #269 [Verbose] > │ ), │
00:00:22 #270 [Verbose] > │ UH2_0( │
00:00:22 #271 [Verbose] > │ UH0_1, │
00:00:22 #272 [Verbose] > │ "03", │
00:00:22 #273 [Verbose] > │ US4_0( │
00:00:22 #274 [Verbose] > │ US3_0, │
00:00:22 #275 [Verbose] > │ ), │
00:00:23 #276 [Verbose] > │ UH2_1, │
00:00:23 #277 [Verbose] > │ ), │
00:00:23 #278 [Verbose] > │ ), │
00:00:23 #279 [Verbose] > │ ) │
00:00:23 #280 [Verbose] > │ │
00:00:23 #281 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #282 [Verbose] >
00:00:23 #283 [Verbose] > ╭─[ 6.34s - stdout ]───────────────────────────────────────────────────────────╮
00:00:23 #284 [Verbose] > │ │
00:00:23 #285 [Verbose] > │ .fsx: │
00:00:23 #286 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] type │
00:00:23 #287 [Verbose] > │ std_string_String = class end │
00:00:23 #288 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] type Ref<'T> = class end │
00:00:23 #289 [Verbose] > │ [<Fable.Core.Erase; Fable.Core.Emit("str")>] type Str = class end │
00:00:23 #290 [Verbose] > │ type [<Struct>] US0 = │
00:00:23 #291 [Verbose] > │ | US0_0 │
00:00:23 #292 [Verbose] > │ | US0_1 │
00:00:23 #293 [Verbose] > │ | US0_2 │
00:00:23 #294 [Verbose] > │ | US0_3 │
00:00:23 #295 [Verbose] > │ | US0_4 │
00:00:23 #296 [Verbose] > │ | US0_5 │
00:00:23 #297 [Verbose] > │ | US0_6 │
00:00:23 #298 [Verbose] > │ | US0_7 │
00:00:23 #299 [Verbose] > │ | US0_8 │
00:00:23 #300 [Verbose] > │ | US0_9 │
00:00:23 #301 [Verbose] > │ | US0_10 │
00:00:23 #302 [Verbose] > │ | US0_11 │
00:00:23 #303 [Verbose] > │ and [<Struct>] US2 = │
00:00:23 #304 [Verbose] > │ | US2_0 │
00:00:23 #305 [Verbose] > │ | US2_1 │
00:00:23 #306 [Verbose] > │ and [<Struct>] US1 = │
00:00:23 #307 [Verbose] > │ | US1_0 of f0_0 : US2 │
00:00:23 #308 [Verbose] > │ and UH0 = │
00:00:23 #309 [Verbose] > │ | UH0_0 of int32 * US0 * int32 * US1 * UH0 │
00:00:23 #310 [Verbose] > │ | UH0_1 │
00:00:23 #311 [Verbose] > │ and [<Struct>] US3 = │
00:00:23 #312 [Verbose] > │ | US3_0 │
00:00:23 #313 [Verbose] > │ | US3_1 │
00:00:23 #314 [Verbose] > │ and [<Struct>] US7 = │
00:00:23 #315 [Verbose] > │ | US7_0 │
00:00:23 #316 [Verbose] > │ | US7_1 │
00:00:23 #317 [Verbose] > │ | US7_2 │
00:00:23 #318 [Verbose] > │ | US7_3 │
00:00:23 #319 [Verbose] > │ | US7_4 │
00:00:23 #320 [Verbose] > │ | US7_5 │
00:00:23 #321 [Verbose] > │ | US7_6 │
00:00:23 #322 [Verbose] > │ and [<Struct>] US6 = │
00:00:23 #323 [Verbose] > │ | US6_0 of f0_0 : int32 │
00:00:23 #324 [Verbose] > │ | US6_1 of f1_0 : US7 │
00:00:23 #325 [Verbose] > │ | US6_2 of f2_0 : int32 * f2_1 : US0 │
00:00:23 #326 [Verbose] > │ and UH1 = │
00:00:23 #327 [Verbose] > │ | UH1_0 of US6 * UH1 │
00:00:23 #328 [Verbose] > │ | UH1_1 │
00:00:23 #329 [Verbose] > │ and [<Struct>] US8 = │
00:00:23 #330 [Verbose] > │ | US8_0 of f0_0 : int32 │
00:00:23 #331 [Verbose] > │ | US8_1 of f1_0 : int32 │
00:00:23 #332 [Verbose] > │ | US8_2 of f2_0 : int32 │
00:00:23 #333 [Verbose] > │ and [<Struct>] US5 = │
00:00:23 #334 [Verbose] > │ | US5_0 of f0_0 : UH1 │
00:00:23 #335 [Verbose] > │ | US5_1 of f1_0 : US8 │
00:00:23 #336 [Verbose] > │ and [<Struct>] US4 = │
00:00:23 #337 [Verbose] > │ | US4_0 of f0_0 : US3 │
00:00:23 #338 [Verbose] > │ | US4_1 of f1_0 : US5 │
00:00:23 #339 [Verbose] > │ and UH2 = │
00:00:23 #340 [Verbose] > │ | UH2_0 of UH0 * string * US4 * UH2 │
00:00:23 #341 [Verbose] > │ | UH2_1 │
00:00:23 #342 [Verbose] > │ let rec method0 () : unit = │
00:00:23 #343 [Verbose] > │ let v0 : UH0 = UH0_1 │
00:00:23 #344 [Verbose] > │ let v1 : string = "01" │
00:00:23 #345 [Verbose] > │ let v2 : US3 = US3_0 │
00:00:23 #346 [Verbose] > │ let v3 : US4 = US4_0(v2) │
00:00:23 #347 [Verbose] > │ let v4 : UH0 = UH0_1 │
00:00:23 #348 [Verbose] > │ let v5 : string = "02" │
00:00:23 #349 [Verbose] > │ let v6 : US3 = US3_0 │
00:00:23 #350 [Verbose] > │ let v7 : US4 = US4_0(v6) │
00:00:23 #351 [Verbose] > │ let v8 : UH0 = UH0_1 │
00:00:23 #352 [Verbose] > │ let v9 : string = "03" │
00:00:23 #353 [Verbose] > │ let v10 : US3 = US3_0 │
00:00:23 #354 [Verbose] > │ let v11 : US4 = US4_0(v10) │
00:00:23 #355 [Verbose] > │ let v12 : UH2 = UH2_1 │
00:00:23 #356 [Verbose] > │ let v13 : UH2 = UH2_0(v8, v9, v11, v12) │
00:00:23 #357 [Verbose] > │ let v14 : UH2 = UH2_0(v4, v5, v7, v13) │
00:00:23 #358 [Verbose] > │ let v15 : UH2 = UH2_0(v0, v1, v3, v14) │
00:00:23 #359 [Verbose] > │ let v16 : string = "format!(\"{:#?}\", $0)" │
00:00:23 #360 [Verbose] > │ let v17 : std_string_String = Fable.Core.RustInterop.emitRustExpr v15 │
00:00:23 #361 [Verbose] > │ v16 │
00:00:23 #362 [Verbose] > │ System.Console.WriteLine v17 │
00:00:23 #363 [Verbose] > │ () │
00:00:23 #364 [Verbose] > │ method0() │
00:00:23 #365 [Verbose] > │ │
00:00:23 #366 [Verbose] > │ .rs: │
00:00:23 #367 [Verbose] > │ #![allow(dead_code,)] │
00:00:23 #368 [Verbose] > │ #![allow(non_camel_case_types,)] │
00:00:23 #369 [Verbose] > │ #![allow(non_snake_case,)] │
00:00:23 #370 [Verbose] > │ #![allow(non_upper_case_globals,)] │
00:00:23 #371 [Verbose] > │ #![allow(unreachable_code,)] │
00:00:23 #372 [Verbose] > │ #![allow(unused_attributes,)] │
00:00:23 #373 [Verbose] > │ #![allow(unused_imports,)] │
00:00:23 #374 [Verbose] > │ #![allow(unused_macros,)] │
00:00:23 #375 [Verbose] > │ #![allow(unused_parens,)] │
00:00:23 #376 [Verbose] > │ #![allow(unused_variables,)] │
00:00:23 #377 [Verbose] > │ mod module_3acfb8b4 { │
00:00:23 #378 [Verbose] > │ pub mod Repl_main { │
00:00:23 #379 [Verbose] > │ use super::*; │
00:00:23 #380 [Verbose] > │ use fable_library_rust::Native_::Any; │
00:00:23 #381 [Verbose] > │ use fable_library_rust::Native_::LrcPtr; │
00:00:23 #382 [Verbose] > │ use fable_library_rust::Native_::on_startup; │
00:00:23 #383 [Verbose] > │ use fable_library_rust::String_::string; │
00:00:23 #384 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #385 [Verbose] > │ pub enum US0 { │
00:00:23 #386 [Verbose] > │ US0_0, │
00:00:23 #387 [Verbose] > │ US0_1, │
00:00:23 #388 [Verbose] > │ US0_2, │
00:00:23 #389 [Verbose] > │ US0_3, │
00:00:23 #390 [Verbose] > │ US0_4, │
00:00:23 #391 [Verbose] > │ US0_5, │
00:00:23 #392 [Verbose] > │ US0_6, │
00:00:23 #393 [Verbose] > │ US0_7, │
00:00:23 #394 [Verbose] > │ US0_8, │
00:00:23 #395 [Verbose] > │ US0_9, │
00:00:23 #396 [Verbose] > │ US0_10, │
00:00:23 #397 [Verbose] > │ US0_11, │
00:00:23 #398 [Verbose] > │ } │
00:00:23 #399 [Verbose] > │ impl core::fmt::Display for Repl_main::US0 { │
00:00:23 #400 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #401 [Verbose] > │ { │
00:00:23 #402 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #403 [Verbose] > │ } │
00:00:23 #404 [Verbose] > │ } │
00:00:23 #405 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #406 [Verbose] > │ pub enum US2 { US2_0, US2_1, } │
00:00:23 #407 [Verbose] > │ impl core::fmt::Display for Repl_main::US2 { │
00:00:23 #408 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #409 [Verbose] > │ { │
00:00:23 #410 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #411 [Verbose] > │ } │
00:00:23 #412 [Verbose] > │ } │
00:00:23 #413 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #414 [Verbose] > │ pub enum US1 { US1_0(Repl_main::US2), } │
00:00:23 #415 [Verbose] > │ impl core::fmt::Display for Repl_main::US1 { │
00:00:23 #416 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #417 [Verbose] > │ { │
00:00:23 #418 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #419 [Verbose] > │ } │
00:00:23 #420 [Verbose] > │ } │
00:00:23 #421 [Verbose] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #422 [Verbose] > │ pub enum UH0 { │
00:00:23 #423 [Verbose] > │ UH0_0(i32, Repl_main::US0, i32, Repl_main::US1, │
00:00:23 #424 [Verbose] > │ LrcPtr<Repl_main::UH0>), │
00:00:23 #425 [Verbose] > │ UH0_1, │
00:00:23 #426 [Verbose] > │ } │
00:00:23 #427 [Verbose] > │ impl core::fmt::Display for Repl_main::UH0 { │
00:00:23 #428 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #429 [Verbose] > │ { │
00:00:23 #430 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #431 [Verbose] > │ } │
00:00:23 #432 [Verbose] > │ } │
00:00:23 #433 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #434 [Verbose] > │ pub enum US3 { US3_0, US3_1, } │
00:00:23 #435 [Verbose] > │ impl core::fmt::Display for Repl_main::US3 { │
00:00:23 #436 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #437 [Verbose] > │ { │
00:00:23 #438 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #439 [Verbose] > │ } │
00:00:23 #440 [Verbose] > │ } │
00:00:23 #441 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #442 [Verbose] > │ pub enum US7 { US7_0, US7_1, US7_2, US7_3, US7_4, US7_5, US7_6, } │
00:00:23 #443 [Verbose] > │ impl core::fmt::Display for Repl_main::US7 { │
00:00:23 #444 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #445 [Verbose] > │ { │
00:00:23 #446 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #447 [Verbose] > │ } │
00:00:23 #448 [Verbose] > │ } │
00:00:23 #449 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #450 [Verbose] > │ pub enum US6 { │
00:00:23 #451 [Verbose] > │ US6_0(i32), │
00:00:23 #452 [Verbose] > │ US6_1(Repl_main::US7), │
00:00:23 #453 [Verbose] > │ US6_2(i32, Repl_main::US0), │
00:00:23 #454 [Verbose] > │ } │
00:00:23 #455 [Verbose] > │ impl core::fmt::Display for Repl_main::US6 { │
00:00:23 #456 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #457 [Verbose] > │ { │
00:00:23 #458 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #459 [Verbose] > │ } │
00:00:23 #460 [Verbose] > │ } │
00:00:23 #461 [Verbose] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #462 [Verbose] > │ pub enum UH1 { UH1_0(Repl_main::US6, LrcPtr<Repl_main::UH1>), UH1_1, │
00:00:23 #463 [Verbose] > │ } │
00:00:23 #464 [Verbose] > │ impl core::fmt::Display for Repl_main::UH1 { │
00:00:23 #465 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #466 [Verbose] > │ { │
00:00:23 #467 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #468 [Verbose] > │ } │
00:00:23 #469 [Verbose] > │ } │
00:00:23 #470 [Verbose] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #471 [Verbose] > │ pub enum US8 { US8_0(i32), US8_1(i32), US8_2(i32), } │
00:00:23 #472 [Verbose] > │ impl core::fmt::Display for Repl_main::US8 { │
00:00:23 #473 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #474 [Verbose] > │ { │
00:00:23 #475 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #476 [Verbose] > │ } │
00:00:23 #477 [Verbose] > │ } │
00:00:23 #478 [Verbose] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #479 [Verbose] > │ pub enum US5 { US5_0(LrcPtr<Repl_main::UH1>), US5_1(Repl_main::US8), │
00:00:23 #480 [Verbose] > │ } │
00:00:23 #481 [Verbose] > │ impl core::fmt::Display for Repl_main::US5 { │
00:00:23 #482 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #483 [Verbose] > │ { │
00:00:23 #484 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #485 [Verbose] > │ } │
00:00:23 #486 [Verbose] > │ } │
00:00:23 #487 [Verbose] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #488 [Verbose] > │ pub enum US4 { US4_0(Repl_main::US3), US4_1(Repl_main::US5), } │
00:00:23 #489 [Verbose] > │ impl core::fmt::Display for Repl_main::US4 { │
00:00:23 #490 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #491 [Verbose] > │ { │
00:00:23 #492 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #493 [Verbose] > │ } │
00:00:23 #494 [Verbose] > │ } │
00:00:23 #495 [Verbose] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
00:00:23 #496 [Verbose] > │ pub enum UH2 { │
00:00:23 #497 [Verbose] > │ UH2_0(LrcPtr<Repl_main::UH0>, string, Repl_main::US4, │
00:00:23 #498 [Verbose] > │ LrcPtr<Repl_main::UH2>), │
00:00:23 #499 [Verbose] > │ UH2_1, │
00:00:23 #500 [Verbose] > │ } │
00:00:23 #501 [Verbose] > │ impl core::fmt::Display for Repl_main::UH2 { │
00:00:23 #502 [Verbose] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result │
00:00:23 #503 [Verbose] > │ { │
00:00:23 #504 [Verbose] > │ write!(f, "{}", core::any::type_name::<Self>()) │
00:00:23 #505 [Verbose] > │ } │
00:00:23 #506 [Verbose] > │ } │
00:00:23 #507 [Verbose] > │ pub fn method0() { │
00:00:23 #508 [Verbose] > │ let v17: std::string::String = │
00:00:23 #509 [Verbose] > │ format!("{:#?}", │
00:00:23 #510 [Verbose] > │ &LrcPtr::new(Repl_main::UH2::UH2_0(LrcPtr::new(Repl_main::UH0::UH0_1), │
00:00:23 #511 [Verbose] > │ │
00:00:23 #512 [Verbose] > │ string("01"), │
00:00:23 #513 [Verbose] > │ │
00:00:23 #514 [Verbose] > │ Repl_main::US4::US4_0(Repl_main::US3::US3_0), │
00:00:23 #515 [Verbose] > │ │
00:00:23 #516 [Verbose] > │ LrcPtr::new(Repl_main::UH2::UH2_0(LrcPtr::new(Repl_main::UH0::UH0_1), │
00:00:23 #517 [Verbose] > │ │
00:00:23 #518 [Verbose] > │ string("02"), │
00:00:23 #519 [Verbose] > │ │
00:00:23 #520 [Verbose] > │ Repl_main::US4::US4_0(Repl_main::US3::US3_0), │
00:00:23 #521 [Verbose] > │ │
00:00:23 #522 [Verbose] > │ LrcPtr::new(Repl_main::UH2::UH2_0(LrcPtr::new(Repl_main::UH0::UH0_1), │
00:00:23 #523 [Verbose] > │ │
00:00:23 #524 [Verbose] > │ string("03"), │
00:00:23 #525 [Verbose] > │ │
00:00:23 #526 [Verbose] > │ Repl_main::US4::US4_0(Repl_main::US3::US3_0), │
00:00:23 #527 [Verbose] > │ │
00:00:23 #528 [Verbose] > │ LrcPtr::new(Repl_main::UH2::UH2_1)))))))); │
00:00:23 #529 [Verbose] > │ println!("{0}", &v17,); │
00:00:23 #530 [Verbose] > │ () │
00:00:23 #531 [Verbose] > │ } │
00:00:23 #532 [Verbose] > │ on_startup!(Repl_main::method0()); │
00:00:23 #533 [Verbose] > │ } │
00:00:23 #534 [Verbose] > │ } │
00:00:23 #535 [Verbose] > │ pub use module_3acfb8b4::*; │
00:00:23 #536 [Verbose] > │ │
00:00:23 #537 [Verbose] > │ │
00:00:23 #538 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #539 [Verbose] >
00:00:23 #540 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #541 [Verbose] > // // test
00:00:23 #542 [Verbose] > // // rust=
00:00:23 #543 [Verbose] >
00:00:23 #544 [Verbose] > get_tasks ()
00:00:23 #545 [Verbose] > |> listm'.try_item 0i32
00:00:23 #546 [Verbose] > |> fun (Some task) => task.task.name
00:00:23 #547 [Verbose] > |> _equal (task_name "01")
00:00:23 #548 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-2282-8210-8ad08b8b4877\main.spi
00:00:27 #549 [Verbose] >
00:00:27 #550 [Verbose] > ╭─[ 4.69s - return value ]─────────────────────────────────────────────────────╮
00:00:27 #551 [Verbose] > │ .rs output: │
00:00:27 #552 [Verbose] > │ │
00:00:27 #553 [Verbose] > │ │
00:00:27 #554 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #555 [Verbose] >
00:00:27 #556 [Verbose] > ╭─[ 4.70s - stdout ]───────────────────────────────────────────────────────────╮
00:00:27 #557 [Verbose] > │ │
00:00:27 #558 [Verbose] > │ .fsx: │
00:00:27 #559 [Verbose] > │ let rec method0 () : unit = │
00:00:27 #560 [Verbose] > │ let v3 : string = "01" │
00:00:27 #561 [Verbose] > │ let v4 : string = $"_equal / actual: %A{v3} / expected: %A{v3}" │
00:00:27 #562 [Verbose] > │ () │
00:00:27 #563 [Verbose] > │ method0() │
00:00:27 #564 [Verbose] > │ │
00:00:27 #565 [Verbose] > │ .rs: │
00:00:27 #566 [Verbose] > │ #![allow(dead_code,)] │
00:00:27 #567 [Verbose] > │ #![allow(non_camel_case_types,)] │
00:00:27 #568 [Verbose] > │ #![allow(non_snake_case,)] │
00:00:27 #569 [Verbose] > │ #![allow(non_upper_case_globals,)] │
00:00:27 #570 [Verbose] > │ #![allow(unreachable_code,)] │
00:00:27 #571 [Verbose] > │ #![allow(unused_attributes,)] │
00:00:27 #572 [Verbose] > │ #![allow(unused_imports,)] │
00:00:27 #573 [Verbose] > │ #![allow(unused_macros,)] │
00:00:27 #574 [Verbose] > │ #![allow(unused_parens,)] │
00:00:27 #575 [Verbose] > │ #![allow(unused_variables,)] │
00:00:27 #576 [Verbose] > │ mod module_3acfb8b4 { │
00:00:27 #577 [Verbose] > │ pub mod Repl_main { │
00:00:27 #578 [Verbose] > │ use super::*; │
00:00:27 #579 [Verbose] > │ use fable_library_rust::Native_::Any; │
00:00:27 #580 [Verbose] > │ use fable_library_rust::Native_::on_startup; │
00:00:27 #581 [Verbose] > │ use fable_library_rust::String_::sprintf; │
00:00:27 #582 [Verbose] > │ use fable_library_rust::String_::string; │
00:00:27 #583 [Verbose] > │ pub fn method0() { │
00:00:27 #584 [Verbose] > │ let v4: string = │
00:00:27 #585 [Verbose] > │ sprintf!("_equal / actual: {:?} / expected: {:?}", │
00:00:27 #586 [Verbose] > │ &string("01"), &string("01")); │
00:00:27 #587 [Verbose] > │ () │
00:00:27 #588 [Verbose] > │ } │
00:00:27 #589 [Verbose] > │ on_startup!(Repl_main::method0()); │
00:00:27 #590 [Verbose] > │ } │
00:00:27 #591 [Verbose] > │ } │
00:00:27 #592 [Verbose] > │ pub use module_3acfb8b4::*; │
00:00:27 #593 [Verbose] > │ │
00:00:27 #594 [Verbose] > │ │
00:00:27 #595 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #596 [Verbose] >
00:00:27 #597 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #598 [Verbose] > // // test
00:00:27 #599 [Verbose] >
00:00:27 #600 [Verbose] > ()
00:00:27 #601 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0116-2753-5317-585645c0390c\main.spi
00:00:28 #602 [Verbose] >
00:00:28 #603 [Verbose] > ╭─[ 409.13ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #604 [Verbose] > │ let rec method0 () : unit = │
00:00:28 #605 [Verbose] > │ () │
00:00:28 #606 [Verbose] > │ method0() │
00:00:28 #607 [Verbose] > │ │
00:00:28 #608 [Verbose] > │ │
00:00:28 #609 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #610 [Verbose] > [NbConvertApp] Converting notebook Tasks.dib.ipynb to html
00:00:30 #611 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:30 #612 [Verbose] > validate(nb)
00:00:30 #613 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:30 #614 [Verbose] > return _pygments_highlight(
00:00:31 #615 [Verbose] > [NbConvertApp] Writing 303881 bytes to Tasks.dib.html
00:00:32 #616 [Debug] executeAsync / exitCode: 0 / output.Length: 36701
00:00:32 #617 [Debug] main / executeCommand / exitCode: 0
In [ ]:
{ . "$ScriptDir/../apps/spiral/temp/test/build.ps1" } | Invoke-Block
── pwsh ────────────────────────────────────────────────────────────────────────
. ../../../../scripts/nbs_header.ps1
. ../../../../scripts/core.ps1
── pwsh ────────────────────────────────────────────────────────────────────────
{ . ../../../../apps/spiral/dist/Supervisor$(GetExecutableSuffix) --build-file
test.spi test.fsx --timeout 10000 } | Invoke-Block
╭─[ 4.13s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:00 #2 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:main@411-297> } │
│ 00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\spiral\temp\test │
│ 00:00:00 #4 [Verbose] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805 │
│ 00:00:01 #10 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:01 #11 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:01 #12 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\r\n \u0022test\u0022 |\u003E │
│ console.write_line\r\n 0i32\r\n\r\ninl main () =\r\n print_static │
│ \u0022\u003Ctest\u003E\u0022\r\n\r\n app\r\n |\u003E dyn\r\n │
│ |\u003E ignore\r\n\r\n print_static │
│ \u0022\u003C/test\u003E\u0022\r\n","uri":"file:///C:\\home\\git\\polyglot\\a │
│ pps\\spiral\\temp\\test\\test.spi"}} / result.Length: │
│ 00:00:01 #13 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\home\\git\\polyglot\\app │
│ s\\spiral\\temp\\test\\test.spi"}} / result.Length: │
│ 00:00:01 #14 [Verbose] > Building │
│ C:\home\git\polyglot\apps\spiral\temp\test\test.spi │
│ 00:00:02 #15 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: │
│ [] / typeErrorCount: 0 │
│ 00:00:03 #16 [Verbose] > <test> │
│ 00:00:03 #17 [Verbose] > </test> │
│ 00:00:03 #18 [Debug] buildFile / takeWhileInclusive / fsxContent: Some(let │
│ rec closure0 () () : int32 = │
│ let v0 : string = "test" │
│ System.Console.WriteLine v0 │
│ 0 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ ) / errors: [] / typeErrorCount: 0 │
│ 00:00:03 #19 [Debug] watchWithFilter / Disposing watch stream / filter: │
│ FileName, LastWrite │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
dotnet fable --optimize --lang rs --extension .rs
╭─[ 4.46s - stdout ]───────────────────────────────────────────────────────────╮
│ Fable 4.5.0: F# to Rust compiler (status: alpha) │
│ │
│ Thanks to the contributor! @cannorin │
│ Stand with Ukraine! https://standwithukraine.com.ua/ │
│ │
│ Parsing test.fsproj... │
│ Retrieving project options from cache, in case of issues run `dotnet fable │
│ clean` or try `--noCache` option. │
│ Project and references (1 source files) parsed in 233ms │
│ │
│ Started Fable compilation... │
│ Fable compilation finished in 2331ms │
│ │
│ .\test.fsx(6,0): (6,2) warning FABLE: For Rust, support for F# static and │
│ module do bindings is disabled by default. It can be enabled with the │
│ 'static_do_bindings' feature. Use at your own risk! │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
cargo fmt --
── pwsh ────────────────────────────────────────────────────────────────────────
cargo build --release
╭─[ 10.20s - stdout ]──────────────────────────────────────────────────────────╮
│ Compiling test v0.0.1 (C:\home\git\polyglot\apps\spiral\temp\test) │
│ warning: unused import: `info` │
│ --> apps\spiral\temp\test\./main.rs:190:15 │
│ | │
│ 190 | use tracing::{info, Level}; │
│ | ^^^^ │
│ | │
│ = note: `#[warn(unused_imports)]` on by default │
│ │
│ warning: associated items `new`, `add_item`, and `remove_item` are │
│ never used │
│ --> apps\spiral\temp\test\./main.rs:46:8 │
│ | │
│ 45 | impl Cart { │
│ | --------- associated items in this implementation │
│ 46 | fn new() -> Cart { │
│ | ^^^ │
│ ... │
│ 50 | fn add_item(&mut self, item: Item) { │
│ | ^^^^^^^^ │
│ ... │
│ 56 | fn remove_item(&mut self, item: &Item) { │
│ | ^^^^^^^^^^^ │
│ | │
│ = note: `#[warn(dead_code)]` on by default │
│ │
│ warning: function `parse_comment` is never used │
│ --> apps\spiral\temp\test\./main.rs:124:4 │
│ | │
│ 124 | fn parse_comment(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_string` is never used │
│ --> apps\spiral\temp\test\./main.rs:130:4 │
│ | │
│ 130 | fn parse_string(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^ │
│ │
│ warning: function `parse_identifier` is never used │
│ --> apps\spiral\temp\test\./main.rs:145:4 │
│ | │
│ 145 | fn parse_identifier(input: &str) -> IResult<&str, SpiralToken> {[ │
│ 0m │
│ | ^^^^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_integer` is never used │
│ --> apps\spiral\temp\test\./main.rs:157:4 │
│ | │
│ 157 | fn parse_integer(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_operator` is never used │
│ --> apps\spiral\temp\test\./main.rs:165:4 │
│ | │
│ 165 | fn parse_operator(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_token` is never used │
│ --> apps\spiral\temp\test\./main.rs:170:4 │
│ | │
│ 170 | fn parse_token(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^ │
│ │
│ warning: function `format_token` is never used │
│ --> apps\spiral\temp\test\./main.rs:180:4 │
│ | │
│ 180 | fn format_token(token: &SpiralToken) -> String { │
│ | ^^^^^^^^^^^^ │
│ │
│ warning: function `parse_expression` is never used │
│ --> apps\spiral\temp\test\./main.rs:213:4 │
│ | │
│ 213 | fn parse_expression(input: &str) -> IResult<&str, SpiralToken> {[ │
│ 0m │
│ | ^^^^^^^^^^^^^^^^ │
│ │
│ warning: `test` (bin "test") generated 10 warnings (run `cargo fix │
│ --bin "test"` to apply 1 suggestion) │
│ Finished release [optimized] target(s) in 9.95s │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
$env:RUST_LOG="info"
{ cargo test --release } | Invoke-Block
╭─[ 26.98s - stdout ]──────────────────────────────────────────────────────────╮
│ Compiling test v0.0.1 (C:\home\git\polyglot\apps\spiral\temp\test) │
│ Finished release [optimized] target(s) in 26.44s │
│ Running unittests main.rs │
│ (C:\home\git\polyglot\target\release\deps\test-d4818efb9a1fa553.exe) │
│ │
│ running 3 tests │
│ test test_parse_number ... ok │
│ 2023-11-08T05:17:22.240213Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.240334Z INFO test: │
│ input=Identifier("gSuOq41gOuap88ppHz0Kb4Yj5C") │
│ 2023-11-08T05:17:22.240464Z INFO test: │
│ input=Identifier("HIWMc2Ni") │
│ 2023-11-08T05:17:22.240537Z INFO test: │
│ input=Integer(-3065567114094630778) │
│ 2023-11-08T05:17:22.240682Z INFO test: │
│ input=Comment("&*x{@WH<o4R\"5yY.JH2Bq0]\\p:^?XM6") │
│ 2023-11-08T05:17:22.240747Z INFO test: │
│ input=Identifier("Dk") │
│ 2023-11-08T05:17:22.240846Z INFO test: │
│ input=Comment("VW7\".PY^?E^D'\"G\"") │
│ 2023-11-08T05:17:22.240933Z INFO test: │
│ input=StringLiteral("&kM,{'2Ur*'n8z/&R(gffo*KD<))e") │
│ 2023-11-08T05:17:22.241008Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.241059Z INFO test: input=Operator("*") │
│ 2023-11-08T05:17:22.241145Z INFO test: │
│ input=StringLiteral("W=") │
│ 2023-11-08T05:17:22.241223Z INFO test: │
│ input=StringLiteral("$,$d3t}B+{=hbeqq$:'As8~.DY'uN") │
│ 2023-11-08T05:17:22.241295Z INFO test: │
│ input=Identifier("bchB146nu8lG0zrcLsmUdv23WY6ki") │
│ 2023-11-08T05:17:22.241346Z INFO test: │
│ input=Comment("p`d") │
│ 2023-11-08T05:17:22.241394Z INFO test: │
│ input=Integer(3501238957954602669) │
│ 2023-11-08T05:17:22.241458Z INFO test: │
│ input=StringLiteral("&kwWEK$/5VF.Y<A{B1") │
│ 2023-11-08T05:17:22.241502Z INFO test: │
│ input=Integer(3580674692582459221) │
│ 2023-11-08T05:17:22.241553Z INFO test: │
│ input=StringLiteral("Tj?:`TMUZ;8*IB/C") │
│ 2023-11-08T05:17:22.241610Z INFO test: │
│ input=Comment("\"=)&z^`8te$:M_") │
│ 2023-11-08T05:17:22.241662Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.241739Z INFO test: │
│ input=Identifier("QF13P2aR62hLMgNr21K19SgpGqb") │
│ 2023-11-08T05:17:22.241802Z INFO test: │
│ input=Comment("D\\\\;R+") │
│ 2023-11-08T05:17:22.241885Z INFO test: │
│ input=Comment("*,W\"?Z\\}Z`NNW%\"{~coB/po*%F'_") │
│ 2023-11-08T05:17:22.241970Z INFO test: │
│ input=Comment("n?^<$=: Y'~&\"_%.HuVCzMY.3`(<") │
│ 2023-11-08T05:17:22.242037Z INFO test: │
│ input=StringLiteral("0z^`/:|1!C~P`_$0AC.*0UE#") │
│ 2023-11-08T05:17:22.242086Z INFO test: │
│ input=Integer(2727325084866696035) │
│ 2023-11-08T05:17:22.242136Z INFO test: │
│ input=Integer(5163942608773689866) │
│ 2023-11-08T05:17:22.242216Z INFO test: │
│ input=Identifier("hMT0bl5cm348wsiyAQBQYQx3yf7") │
│ 2023-11-08T05:17:22.242301Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.242377Z INFO test: │
│ input=Comment("''{|Bta!\" {tf}L<y&P&*Z'") │
│ 2023-11-08T05:17:22.242422Z INFO test: │
│ input=Integer(-310350690272745046) │
│ 2023-11-08T05:17:22.242467Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.242527Z INFO test: │
│ input=Identifier("y2HOqNRw42r26q9fkJCjl1995Nm") │
│ 2023-11-08T05:17:22.242593Z INFO test: │
│ input=StringLiteral(">{&gM0h:") │
│ 2023-11-08T05:17:22.242654Z INFO test: │
│ input=StringLiteral(":") │
│ 2023-11-08T05:17:22.242730Z INFO test: │
│ input=Identifier("m64AXkkmIo9IQ190zm2V5RQg5TR7py") │
│ 2023-11-08T05:17:22.242798Z INFO test: │
│ input=StringLiteral("tz`Be/i<CP%Xn+Yk/ldpx%") │
│ 2023-11-08T05:17:22.242858Z INFO test: │
│ input=StringLiteral("ut?wu!ri:u") │
│ 2023-11-08T05:17:22.242934Z INFO test: │
│ input=StringLiteral(")$$=*MY/ekGeXM%Y%{L$^6Dn?KO3Bx=") │
│ 2023-11-08T05:17:22.243040Z INFO test: │
│ input=Identifier("r6ZMKD") │
│ 2023-11-08T05:17:22.243089Z INFO test: │
│ input=Integer(8376574882192652966) │
│ 2023-11-08T05:17:22.243145Z INFO test: │
│ input=Identifier("nSRv") │
│ 2023-11-08T05:17:22.243217Z INFO test: │
│ input=StringLiteral("jHd<I{jo&(/<<Lfp*`.*X,*jb5PwZG") │
│ 2023-11-08T05:17:22.243489Z INFO test: │
│ input=Identifier("X7Dsr6p6") │
│ 2023-11-08T05:17:22.243583Z INFO test: │
│ input=Identifier("tof1kw7vERlPE8KL0MN4c") │
│ 2023-11-08T05:17:22.243641Z INFO test: │
│ input=Identifier("vH763i64o") │
│ 2023-11-08T05:17:22.243685Z INFO test: │
│ input=Integer(6906952392404049836) │
│ 2023-11-08T05:17:22.243716Z INFO test: │
│ input=Integer(1833122329940307842) │
│ 2023-11-08T05:17:22.243765Z INFO test: │
│ input=Comment("1*C:Lzjo4`6M_O?\"Md") │
│ 2023-11-08T05:17:22.243803Z INFO test: │
│ input=Integer(-8873397455762067029) │
│ 2023-11-08T05:17:22.243850Z INFO test: │
│ input=StringLiteral("^fj-M'cN:i{T?k*GL7QE:`") │
│ 2023-11-08T05:17:22.243912Z INFO test: │
│ input=Comment("&=*'.\\D%\\Ph4j.8 E[%{3=`c$>M?T#Qv") │
│ 2023-11-08T05:17:22.243960Z INFO test: │
│ input=StringLiteral("=7DB") │
│ 2023-11-08T05:17:22.244026Z INFO test: │
│ input=Identifier("qIOD1g0qKh6WWn3W9nUgsFP83fVsYUue") │
│ 2023-11-08T05:17:22.244077Z INFO test: │
│ input=Comment("@5n6C/q3*&P-=\\$PZS") │
│ 2023-11-08T05:17:22.244127Z INFO test: │
│ input=StringLiteral(".WAx?V$%<wtNl?Ky") │
│ 2023-11-08T05:17:22.244183Z INFO test: │
│ input=StringLiteral("`-/]o15?h{~F{s") │
│ 2023-11-08T05:17:22.244220Z INFO test: │
│ input=Integer(-1563099380997316421) │
│ 2023-11-08T05:17:22.244253Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.244293Z INFO test: │
│ input=StringLiteral("?mgX'") │
│ 2023-11-08T05:17:22.244326Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.244371Z INFO test: │
│ input=Identifier("UPUKCEWLsUm1833dcsi") │
│ 2023-11-08T05:17:22.244402Z INFO test: │
│ input=Integer(-2861447832108027632) │
│ 2023-11-08T05:17:22.244442Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.244475Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.244518Z INFO test: │
│ input=StringLiteral("{!?$%{j0[>") │
│ 2023-11-08T05:17:22.244559Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.244590Z INFO test: │
│ input=Integer(-6043368438507354489) │
│ 2023-11-08T05:17:22.244637Z INFO test: │
│ input=StringLiteral("4=Nd.y?iBQ/yFeyZl12>}/ ") │
│ 2023-11-08T05:17:22.244678Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.244715Z INFO test: │
│ input=StringLiteral("H^<") │
│ 2023-11-08T05:17:22.244801Z INFO test: │
│ input=Comment("p<i;<cn3'vsIGo1:XS0HX()7G") │
│ 2023-11-08T05:17:22.244839Z INFO test: │
│ input=Integer(4931551568138523642) │
│ 2023-11-08T05:17:22.244886Z INFO test: │
│ input=Comment("('lAe=o<f*5In*\\`lW7a<~)<{") │
│ 2023-11-08T05:17:22.244921Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.244961Z INFO test: │
│ input=Comment("`c\\%34:0yw%cL`%HX:") │
│ 2023-11-08T05:17:22.244998Z INFO test: │
│ input=Identifier("Cpy58xV") │
│ 2023-11-08T05:17:22.245033Z INFO test: input=Operator("(") │
│ 2023-11-08T05:17:22.245075Z INFO test: │
│ input=Comment("?5,Kv${MJ*Ma:G(k%/\\\\") │
│ 2023-11-08T05:17:22.245109Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.245146Z INFO test: │
│ input=StringLiteral("fvB,<?'J<?R") │
│ 2023-11-08T05:17:22.245183Z INFO test: input=Operator("(") │
│ 2023-11-08T05:17:22.245234Z INFO test: │
│ input=StringLiteral("Bb%X-DV}EI&*m~}$Q?Y=?/E</KbI") │
│ 2023-11-08T05:17:22.245289Z INFO test: │
│ input=StringLiteral("[{aG}N=4'h@^RSrN$0%") │
│ 2023-11-08T05:17:22.245353Z INFO test: │
│ input=StringLiteral("u26W%;*7F%L?&?C7$eF") │
│ 2023-11-08T05:17:22.245408Z INFO test: │
│ input=Identifier("iv71uNfI4XGNeOVlMmlN") │
│ 2023-11-08T05:17:22.245468Z INFO test: │
│ input=Identifier("yAA3OSTY93597y0fnZcR5gt3HNFD907F") │
│ 2023-11-08T05:17:22.245513Z INFO test: │
│ input=Identifier("tjvU1osu1WCyHgljA") │
│ 2023-11-08T05:17:22.245553Z INFO test: │
│ input=StringLiteral("]&HP*<x?}") │
│ 2023-11-08T05:17:22.245724Z INFO test: │
│ input=Identifier("zm1F0n763YyCEhlYz73SVCS6Oc") │
│ 2023-11-08T05:17:22.245790Z INFO test: │
│ input=Comment("$|9@0 Ie%x\"<^qy`l::nv") │
│ 2023-11-08T05:17:22.245825Z INFO test: │
│ input=Comment("J``Sk*ucP5%y.Z?$Yjp}") │
│ 2023-11-08T05:17:22.245850Z INFO test: │
│ input=StringLiteral("'8{") │
│ 2023-11-08T05:17:22.245878Z INFO test: │
│ input=Identifier("gy5Fo2uA") │
│ 2023-11-08T05:17:22.245913Z INFO test: │
│ input=Comment("%*<D#..<lJ.uc3{bp?:N^$p@Z,p\\") │
│ 2023-11-08T05:17:22.245944Z INFO test: │
│ input=Identifier("hK7EHf2Tauf6PF") │
│ 2023-11-08T05:17:22.245971Z INFO test: input=Operator("(") │
│ 2023-11-08T05:17:22.245997Z INFO test: │
│ input=StringLiteral("A$~A4 6+<x") │
│ 2023-11-08T05:17:22.246025Z INFO test: │
│ input=Identifier("L4Z0Djx0X6g") │
│ 2023-11-08T05:17:22.246051Z INFO test: │
│ input=Comment("`2/$LR\\") │
│ 2023-11-08T05:17:22.246079Z INFO test: │
│ input=Comment("rJpqf\"D&.fBr") │
│ 2023-11-08T05:17:22.246106Z INFO test: │
│ input=Identifier("jWcr4fUFS05") │
│ 2023-11-08T05:17:22.246126Z INFO test: │
│ input=Integer(-349255968647398654) │
│ 2023-11-08T05:17:22.246151Z INFO test: │
│ input=Identifier("Cid9TX7Od") │
│ 2023-11-08T05:17:22.246171Z INFO test: │
│ input=Integer(2674175345131811350) │
│ 2023-11-08T05:17:22.246200Z INFO test: │
│ input=Comment("8&Lxhc_:\\b08$\"L*y'b") │
│ 2023-11-08T05:17:22.246225Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.246245Z INFO test: │
│ input=Integer(4561131990219606904) │
│ 2023-11-08T05:17:22.246269Z INFO test: │
│ input=Identifier("rDmjhv5B") │
│ 2023-11-08T05:17:22.246291Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.246320Z INFO test: │
│ input=StringLiteral("C**]=%`") │
│ 2023-11-08T05:17:22.260895Z INFO test: │
│ input=StringLiteral("*Vn}:?y") │
│ 2023-11-08T05:17:22.260952Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.261005Z INFO test: │
│ input=StringLiteral("rm&lV?`9:/+&')FH+bNW9*fC.&03'O") │
│ 2023-11-08T05:17:22.261047Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.261081Z INFO test: │
│ input=Identifier("RAjS4706") │
│ 2023-11-08T05:17:22.261124Z INFO test: │
│ input=Comment(":yKNWM") │
│ 2023-11-08T05:17:22.261159Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.261204Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.261236Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.261280Z INFO test: │
│ input=Comment(",RSLyYZ\\.?") │
│ 2023-11-08T05:17:22.261330Z INFO test: │
│ input=Identifier("RpFh3ZAna6IH35Nm2SCm6YN6Wv") │
│ 2023-11-08T05:17:22.261369Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.261421Z INFO test: │
│ input=Comment("k:mN`&f7]e`~g{;}<!JI}~QEmCjls") │
│ 2023-11-08T05:17:22.261495Z INFO test: │
│ input=Comment("&!X$W%z ,`") │
│ 2023-11-08T05:17:22.261548Z INFO test: │
│ input=StringLiteral("<Xo$vMCD`T$:") │
│ 2023-11-08T05:17:22.261601Z INFO test: │
│ input=Identifier("Bi52YRaONhbOCZ766U2Xwr32") │
│ 2023-11-08T05:17:22.261645Z INFO test: │
│ input=Integer(3036146506712516334) │
│ 2023-11-08T05:17:22.261681Z INFO test: │
│ input=Identifier("SC24Pwe") │
│ 2023-11-08T05:17:22.261723Z INFO test: │
│ input=Identifier("hN5er6A0cfFE1C4g") │
│ 2023-11-08T05:17:22.261774Z INFO test: │
│ input=Identifier("ag3xBdqo8hxM1LO08M") │
│ 2023-11-08T05:17:22.261820Z INFO test: │
│ input=StringLiteral("`q<E.19N;?:E/") │
│ 2023-11-08T05:17:22.261881Z INFO test: input=Comment("\\R[ │
│ W<\\Bs,F+Y&>dEzq'*.I{-<;\\") │
│ 2023-11-08T05:17:22.261923Z INFO test: │
│ input=StringLiteral("Qj7Cy%") │
│ 2023-11-08T05:17:22.261957Z INFO test: │
│ input=Integer(-3764746997071437624) │
│ 2023-11-08T05:17:22.261986Z INFO test: │
│ input=Identifier("T") │
│ 2023-11-08T05:17:22.262038Z INFO test: │
│ input=Identifier("reJ8O9o73N7Ld36rzL9uC3Fv63i") │
│ 2023-11-08T05:17:22.262079Z INFO test: │
│ input=Identifier("JQ99I") │
│ 2023-11-08T05:17:22.262130Z INFO test: │
│ input=Identifier("i97hR4l597GL6B3x9lm") │
│ 2023-11-08T05:17:22.262164Z INFO test: │
│ input=Integer(-6888374503818339373) │
│ 2023-11-08T05:17:22.262205Z INFO test: │
│ input=StringLiteral("S_g9") │
│ 2023-11-08T05:17:22.262343Z INFO test: │
│ input=StringLiteral("N#U{J!iIRf='") │
│ 2023-11-08T05:17:22.262391Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.262424Z INFO test: │
│ input=Comment("(/=BE") │
│ 2023-11-08T05:17:22.262452Z INFO test: │
│ input=StringLiteral("dv.C{{") │
│ 2023-11-08T05:17:22.262487Z INFO test: │
│ input=StringLiteral("VuOW%&bA#''..") │
│ 2023-11-08T05:17:22.262538Z INFO test: │
│ input=Identifier("H195x5Zx") │
│ 2023-11-08T05:17:22.262565Z INFO test: │
│ input=Integer(4011705071912117472) │
│ 2023-11-08T05:17:22.262607Z INFO test: │
│ input=Comment("7_w\\nbo8=k/m:X3<g{~q\"\\u^5.$W") │
│ 2023-11-08T05:17:22.262649Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.262693Z INFO test: │
│ input=StringLiteral("L?)") │
│ 2023-11-08T05:17:22.262717Z INFO test: │
│ input=Integer(6152681208245804599) │
│ 2023-11-08T05:17:22.262759Z INFO test: │
│ input=StringLiteral("H%{.:=n`sn2&&QF-j(Ik&.}{%X@/") │
│ 2023-11-08T05:17:22.262783Z INFO test: │
│ input=Integer(-8898405773138833374) │
│ 2023-11-08T05:17:22.262811Z INFO test: input=Operator("=") │
│ 2023-11-08T05:17:22.262841Z INFO test: │
│ input=Comment("90%%L[") │
│ 2023-11-08T05:17:22.262875Z INFO test: │
│ input=Comment("g/-z`Q853IK01<`aAC]\"B\"3O?") │
│ 2023-11-08T05:17:22.262904Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.262927Z INFO test: │
│ input=Identifier("o") │
│ 2023-11-08T05:17:22.262949Z INFO test: input=Operator("+") │
│ 2023-11-08T05:17:22.262974Z INFO test: │
│ input=Integer(-2969038295277625568) │
│ 2023-11-08T05:17:22.262997Z INFO test: input=Operator("*") │
│ 2023-11-08T05:17:22.263031Z INFO test: │
│ input=Identifier("KpR7zWeUo048maeOt0x") │
│ 2023-11-08T05:17:22.263056Z INFO test: │
│ input=Integer(8153380043308424913) │
│ 2023-11-08T05:17:22.263076Z INFO test: │
│ input=Integer(-7397018680818256443) │
│ 2023-11-08T05:17:22.263096Z INFO test: │
│ input=Integer(-672921115819244393) │
│ 2023-11-08T05:17:22.263118Z INFO test: │
│ input=Integer(-4725330131037956066) │
│ 2023-11-08T05:17:22.263139Z INFO test: │
│ input=Integer(3288790003073881589) │
│ 2023-11-08T05:17:22.263211Z INFO test: │
│ input=StringLiteral("<l))Ak1'azxw?@?.<X'M$s})28'z") │
│ 2023-11-08T05:17:22.263250Z INFO test: │
│ input=StringLiteral("S") │
│ 2023-11-08T05:17:22.263272Z INFO test: │
│ input=Integer(-7172906480710661335) │
│ 2023-11-08T05:17:22.263296Z INFO test: │
│ input=StringLiteral("%*_K=}") │
│ 2023-11-08T05:17:22.263321Z INFO test: │
│ input=Integer(3002951887787155708) │
│ 2023-11-08T05:17:22.263354Z INFO test: │
│ input=Identifier("jcwG0OBnQ6At5H6W7Z2450") │
│ 2023-11-08T05:17:22.263382Z INFO test: │
│ input=Identifier("eczw10oAa") │
│ 2023-11-08T05:17:22.263441Z INFO test: │
│ input=StringLiteral("`:o$%%&?%o&*6CeW<I&=g)Tao") │
│ 2023-11-08T05:17:22.263484Z INFO test: │
│ input=Comment("+<Y~zpOKK_") │
│ 2023-11-08T05:17:22.263509Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.263550Z INFO test: │
│ input=Identifier("uy0") │
│ 2023-11-08T05:17:22.263606Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.263662Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.263710Z INFO test: │
│ input=Integer(3267195822601500887) │
│ 2023-11-08T05:17:22.263777Z INFO test: │
│ input=StringLiteral("&[$.mt{$xX%g7A(%{==0{") │
│ 2023-11-08T05:17:22.263835Z INFO test: │
│ input=Comment("rU`y") │
│ 2023-11-08T05:17:22.263891Z INFO test: │
│ input=Identifier("a9hyH2a4") │
│ 2023-11-08T05:17:22.263990Z INFO test: input=Operator("(") │
│ 2023-11-08T05:17:22.264102Z INFO test: │
│ input=Identifier("lV531H7Dg2krY0OaLcOGn4c6rkfiInmHU") │
│ 2023-11-08T05:17:22.264147Z INFO test: │
│ input=Comment(":/%") │
│ 2023-11-08T05:17:22.264198Z INFO test: │
│ input=Identifier("u4AH2ELY09484b864n") │
│ 2023-11-08T05:17:22.264254Z INFO test: │
│ input=Comment(">V!9*3q=@d[/:BH8e\"& /%UU4S/<:J") │
│ 2023-11-08T05:17:22.264305Z INFO test: │
│ input=Identifier("XD2046F5ecF4I") │
│ 2023-11-08T05:17:22.264345Z INFO test: input=Operator("=") │
│ 2023-11-08T05:17:22.264380Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.264432Z INFO test: │
│ input=Identifier("sUZ2Fj1GkUJpBA31czq4P") │
│ 2023-11-08T05:17:22.264465Z INFO test: │
│ input=Integer(1369472770876980284) │
│ 2023-11-08T05:17:22.264503Z INFO test: │
│ input=StringLiteral("*`:EJ=2`=") │
│ 2023-11-08T05:17:22.264539Z INFO test: │
│ input=Integer(4212566015270404199) │
│ 2023-11-08T05:17:22.264645Z INFO test: │
│ input=Identifier("H9o4Z2W50IARgzJ11Q8ida") │
│ 2023-11-08T05:17:22.264692Z INFO test: │
│ input=Identifier("XhNF31BTn8") │
│ 2023-11-08T05:17:22.264729Z INFO test: │
│ input=Comment("]'$3.bB=%bH&b,:e.4<<&W\"") │
│ 2023-11-08T05:17:22.264777Z INFO test: │
│ input=StringLiteral("h|2I-?Y'=+") │
│ 2023-11-08T05:17:22.264822Z INFO test: │
│ input=Integer(5423200657086080668) │
│ 2023-11-08T05:17:22.264853Z INFO test: │
│ input=Integer(-8887042328854142685) │
│ 2023-11-08T05:17:22.264923Z INFO test: │
│ input=Identifier("KDrFU8cq2TkFOA765r03sG9SS") │
│ 2023-11-08T05:17:22.264984Z INFO test: input=Operator("*") │
│ 2023-11-08T05:17:22.265056Z INFO test: │
│ input=Comment(".f#$i]*6::<ec{.v<[`:7`5") │
│ 2023-11-08T05:17:22.265101Z INFO test: │
│ input=Integer(2914789984556758032) │
│ 2023-11-08T05:17:22.265179Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.265221Z INFO test: │
│ input=Identifier("nspn") │
│ 2023-11-08T05:17:22.265274Z INFO test: │
│ input=Identifier("SaMXkZRR2bh1hr1XOPpb9Onf") │
│ 2023-11-08T05:17:22.265400Z INFO test: input=Operator("=") │
│ 2023-11-08T05:17:22.265457Z INFO test: │
│ input=StringLiteral("Ft1nm)CM") │
│ 2023-11-08T05:17:22.265495Z INFO test: │
│ input=Integer(8963931234510830422) │
│ 2023-11-08T05:17:22.265544Z INFO test: │
│ input=StringLiteral("[%YB7,WZw<$pasE$%<") │
│ 2023-11-08T05:17:22.265578Z INFO test: │
│ input=Integer(-5513514667007356583) │
│ 2023-11-08T05:17:22.265628Z INFO test: │
│ input=Identifier("HCtGWYPQmgD3ozNtMB") │
│ 2023-11-08T05:17:22.265681Z INFO test: │
│ input=Comment("C.q!$j|\\&}t\"^s<$7") │
│ 2023-11-08T05:17:22.265722Z INFO test: input=Comment("=") │
│ 2023-11-08T05:17:22.265752Z INFO test: │
│ input=Integer(4209474371110871540) │
│ 2023-11-08T05:17:22.265788Z INFO test: input=Operator("=") │
│ 2023-11-08T05:17:22.265818Z INFO test: │
│ input=Integer(4581695628936682452) │
│ 2023-11-08T05:17:22.265854Z INFO test: input=Operator("*") │
│ 2023-11-08T05:17:22.265903Z INFO test: │
│ input=StringLiteral("`ZE[c'eol#d^n&k,&na*G4:$") │
│ 2023-11-08T05:17:22.265947Z INFO test: input=Operator("/") │
│ 2023-11-08T05:17:22.266002Z INFO test: input=Comment("9[ │
│ c*?]$*'0s%J\"*,b~?4lP:") │
│ 2023-11-08T05:17:22.266055Z INFO test: │
│ input=Identifier("gws0vr8n04zWCi8SlE6b") │
│ 2023-11-08T05:17:22.266100Z INFO test: │
│ input=Integer(3187665055694192417) │
│ 2023-11-08T05:17:22.266129Z INFO test: │
│ input=Integer(7847806544008053706) │
│ 2023-11-08T05:17:22.266155Z INFO test: │
│ input=Integer(6075507130231370298) │
│ 2023-11-08T05:17:22.266183Z INFO test: │
│ input=Integer(5958127683315142241) │
│ 2023-11-08T05:17:22.266215Z INFO test: │
│ input=Integer(2583193521135678037) │
│ 2023-11-08T05:17:22.266268Z INFO test: │
│ input=Comment("+q)&oF&xNc%l%Yb1S?z?QPg") │
│ 2023-11-08T05:17:22.266313Z INFO test: input=Operator("=") │
│ 2023-11-08T05:17:22.266347Z INFO test: │
│ input=StringLiteral("nn") │
│ 2023-11-08T05:17:22.266383Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.266419Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.266464Z INFO test: │
│ input=Comment("*x%\"u$aoK:{p7)/6") │
│ 2023-11-08T05:17:22.266524Z INFO test: │
│ input=Identifier("nybVO5hJxqmyH4DelxIVit3Chw367EmKB") │
│ 2023-11-08T05:17:22.266584Z INFO test: │
│ input=Identifier("Ic4TrzljsuwXPPTKSbDrBz0bF1lL8AK") │
│ 2023-11-08T05:17:22.266636Z INFO test: │
│ input=Identifier("E1Ud7W1u3RfjaC") │
│ 2023-11-08T05:17:22.266683Z INFO test: │
│ input=Comment(")*YIc`!,&'5") │
│ 2023-11-08T05:17:22.266734Z INFO test: │
│ input=Comment(".Ox@p&':mIi>'zd") │
│ 2023-11-08T05:17:22.266767Z INFO test: │
│ input=Integer(-7972658835984011634) │
│ 2023-11-08T05:17:22.266808Z INFO test: input=Operator("-") │
│ 2023-11-08T05:17:22.266961Z INFO test: │
│ input=StringLiteral("oL,8.UdEw{{%d:'/%7(zt") │
│ 2023-11-08T05:17:22.267010Z INFO test: │
│ input=Identifier("vCj") │
│ 2023-11-08T05:17:22.267069Z INFO test: │
│ input=Comment("./8<{{aQ'\"Fc1QW<2-kx:uK1'{8") │
│ 2023-11-08T05:17:22.267110Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.267133Z INFO test: │
│ input=Integer(7799464655430541121) │
│ 2023-11-08T05:17:22.267155Z INFO test: input=Operator("*") │
│ 2023-11-08T05:17:22.267206Z INFO test: │
│ input=Identifier("YO16bxQ6cQa5pD5QkGE09DIq967qAj03") │
│ 2023-11-08T05:17:22.267246Z INFO test: │
│ input=StringLiteral("*.H..=`u:gP$*(V<_=:") │
│ 2023-11-08T05:17:22.267301Z INFO test: │
│ input=Comment("!fHf.`<ASU@$Vyv$`(C%+Y;2<(3j?") │
│ 2023-11-08T05:17:22.267339Z INFO test: │
│ input=StringLiteral("`NwA-%k`*?=Lkp*") │
│ 2023-11-08T05:17:22.267367Z INFO test: input=Operator(")") │
│ 2023-11-08T05:17:22.267389Z INFO test: input=Operator("-") │
│ test prop_parse_format_idempotent ... ok │
│ test │
│ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged ... │
│ ok │
│ │
│ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │
│ finished in 0.20s │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
{ . $ScriptDir/../../../../target/release/test$(GetExecutableSuffix) } |
Invoke-Block
╭─[ 88.21ms - stdout ]─────────────────────────────────────────────────────────╮
│ app=test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook build.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 315309 bytes to build.dib.html
In [ ]:
{ . "$ScriptDir/../apps/plot/build.ps1" } | Invoke-Block
Finished release [optimized] target(s) in 0.40s
In [ ]:
{ . "$ScriptDir/../lib/spiral/build.ps1" } | Invoke-Block
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 testing.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # testing │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > inl _almost_equal b a =
00:00:04 #19 [Verbose] > assert (abs (b - a) < 0.00000001) $"$\"_almost_equal / actual: %A{!a}
00:00:04 #20 [Verbose] > expected: %A{!b}\""
00:00:04 #21 [Verbose] >
00:00:04 #22 [Verbose] > inl _equal b a =
00:00:04 #23 [Verbose] > assert (a = b) $"$\"_equal / actual: %A{!a} / expected: %A{!b}\""
00:00:04 #24 [Verbose] >
00:00:04 #25 [Verbose] > inl _is_greater_than b a =
00:00:04 #26 [Verbose] > assert (b > a) $"$\"_is_greater_than / actual: %A{!a} / expected: %A{!b}\""
00:00:04 #27 [Verbose] >
00:00:04 #28 [Verbose] > inl _is_greater_than_or_equal b a =
00:00:04 #29 [Verbose] > assert (b >= a) $"$\"_is_greater_than_or_equal / actual: %A{!a} / expected:
00:00:04 #30 [Verbose] > %A{!b}\""
00:00:04 #31 [Verbose] >
00:00:04 #32 [Verbose] > inl _is_less_than b a =
00:00:04 #33 [Verbose] > assert (b < a) $"$\"_is_less_than / actual: %A{!a} / expected: %A{!b}\""
00:00:04 #34 [Verbose] >
00:00:04 #35 [Verbose] > inl _is_less_than_or_equal b a =
00:00:04 #36 [Verbose] > assert (b <= a) $"$\"_is_less_than_or_equal / actual: %A{!a} / expected:
00:00:04 #37 [Verbose] > %A{!b}\""
00:00:04 #38 [Verbose] >
00:00:04 #39 [Verbose] > inl _throws (fn : () -> ()) : option string =
00:00:04 #40 [Verbose] > inl none = None : option string
00:00:04 #41 [Verbose] > inl some (s : string) = Some s
00:00:04 #42 [Verbose] > $"try !fn (); !none with ex -> !some ex.Message"
00:00:07 #43 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-3376-7618-77bb7dcba045\main.spi
00:00:10 #44 [Verbose] >
00:00:10 #45 [Verbose] > ╭─[ 6.33s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #46 [Verbose] > │ () │
00:00:10 #47 [Verbose] > │ │
00:00:10 #48 [Verbose] > │ │
00:00:10 #49 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #50 [Verbose] >
00:00:10 #51 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #52 [Verbose] > inl print_and_return x =
00:00:10 #53 [Verbose] > $"printfn $\"print_and_return / x: {!x}\""
00:00:10 #54 [Verbose] > x
00:00:10 #55 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-3744-4457-41fa4abb9c03\main.spi
00:00:10 #56 [Verbose] >
00:00:10 #57 [Verbose] > ╭─[ 273.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #58 [Verbose] > │ () │
00:00:10 #59 [Verbose] > │ │
00:00:10 #60 [Verbose] > │ │
00:00:10 #61 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #62 [Verbose] > [NbConvertApp] Converting notebook testing.dib.ipynb to html
00:00:13 #63 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:13 #64 [Verbose] > validate(nb)
00:00:14 #65 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:14 #66 [Verbose] > return _pygments_highlight(
00:00:14 #67 [Verbose] > [NbConvertApp] Writing 275940 bytes to testing.dib.html
00:00:15 #68 [Debug] executeAsync / exitCode: 0 / output.Length: 2962
00:00:15 #69 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 common.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # common │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-4980-8008-83ff6f5e53b8\main.spi
00:00:10 #22 [Verbose] >
00:00:10 #23 [Verbose] > ╭─[ 6.00s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #24 [Verbose] > │ () │
00:00:10 #25 [Verbose] > │ │
00:00:10 #26 [Verbose] > │ │
00:00:10 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #28 [Verbose] >
00:00:10 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #31 [Verbose] > │ ## pair │
00:00:10 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #33 [Verbose] >
00:00:10 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #35 [Verbose] > inl pair x y =
00:00:10 #36 [Verbose] > x, y
00:00:10 #37 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5327-2745-29c911465e72\main.spi
00:00:10 #38 [Verbose] >
00:00:10 #39 [Verbose] > ╭─[ 236.45ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #40 [Verbose] > │ () │
00:00:10 #41 [Verbose] > │ │
00:00:10 #42 [Verbose] > │ │
00:00:10 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #44 [Verbose] >
00:00:10 #45 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #46 [Verbose] > // // test
00:00:10 #47 [Verbose] >
00:00:10 #48 [Verbose] > pair 1i32 2i32
00:00:10 #49 [Verbose] > |> _equal (1, 2)
00:00:10 #50 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5351-5105-5d44f473797b\main.spi
00:00:11 #51 [Verbose] >
00:00:11 #52 [Verbose] > ╭─[ 799.72ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #53 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #54 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (1, 2)} / expected: │
00:00:11 #55 [Verbose] > │ %A{struct (1, 2)}" │
00:00:11 #56 [Verbose] > │ () │
00:00:11 #57 [Verbose] > │ method0() │
00:00:11 #58 [Verbose] > │ │
00:00:11 #59 [Verbose] > │ │
00:00:11 #60 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #61 [Verbose] >
00:00:11 #62 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #63 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #64 [Verbose] > │ ## ||> │
00:00:11 #65 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #66 [Verbose] >
00:00:11 #67 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #68 [Verbose] > inl (||>) (arg1, arg2) fn = arg2 |> fn arg1
00:00:11 #69 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5431-3179-361865d92de9\main.spi
00:00:11 #70 [Verbose] >
00:00:11 #71 [Verbose] > ╭─[ 207.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #72 [Verbose] > │ () │
00:00:11 #73 [Verbose] > │ │
00:00:11 #74 [Verbose] > │ │
00:00:11 #75 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #76 [Verbose] >
00:00:11 #77 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #78 [Verbose] > // // test
00:00:11 #79 [Verbose] >
00:00:11 #80 [Verbose] > (3i32, 2i32)
00:00:11 #81 [Verbose] > ||> fun a b => a - b
00:00:11 #82 [Verbose] > |> _equal 1
00:00:11 #83 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5453-5307-5075cd355171\main.spi
00:00:11 #84 [Verbose] >
00:00:11 #85 [Verbose] > ╭─[ 217.75ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #86 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #87 [Verbose] > │ let v0 : string = $"_equal / actual: %A{1} / expected: %A{1}" │
00:00:11 #88 [Verbose] > │ () │
00:00:11 #89 [Verbose] > │ method0() │
00:00:11 #90 [Verbose] > │ │
00:00:11 #91 [Verbose] > │ │
00:00:11 #92 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #93 [Verbose] >
00:00:11 #94 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #95 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #96 [Verbose] > │ ## flip │
00:00:11 #97 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #98 [Verbose] >
00:00:11 #99 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #100 [Verbose] > inl flip fn a b =
00:00:11 #101 [Verbose] > fn b a
00:00:11 #102 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5475-7518-7fd08edeb423\main.spi
00:00:11 #103 [Verbose] >
00:00:11 #104 [Verbose] > ╭─[ 190.57ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #105 [Verbose] > │ () │
00:00:11 #106 [Verbose] > │ │
00:00:11 #107 [Verbose] > │ │
00:00:11 #108 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #109 [Verbose] >
00:00:11 #110 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #111 [Verbose] > // // test
00:00:11 #112 [Verbose] >
00:00:11 #113 [Verbose] > (1i32, 2i32)
00:00:11 #114 [Verbose] > ||> flip pair
00:00:11 #115 [Verbose] > |> _equal (2, 1)
00:00:12 #116 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5494-9464-99467de60f11\main.spi
00:00:12 #117 [Verbose] >
00:00:12 #118 [Verbose] > ╭─[ 188.28ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #119 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #120 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (2, 1)} / expected: │
00:00:12 #121 [Verbose] > │ %A{struct (2, 1)}" │
00:00:12 #122 [Verbose] > │ () │
00:00:12 #123 [Verbose] > │ method0() │
00:00:12 #124 [Verbose] > │ │
00:00:12 #125 [Verbose] > │ │
00:00:12 #126 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #127 [Verbose] >
00:00:12 #128 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #129 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #130 [Verbose] > │ ## join_body │
00:00:12 #131 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #132 [Verbose] >
00:00:12 #133 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #134 [Verbose] > inl join_body body acc x =
00:00:12 #135 [Verbose] > if var_is x |> not
00:00:12 #136 [Verbose] > then body acc x
00:00:12 #137 [Verbose] > else
00:00:12 #138 [Verbose] > inl acc = dyn acc
00:00:12 #139 [Verbose] > join body acc x
00:00:12 #140 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5514-1410-18e66d7476bb\main.spi
00:00:12 #141 [Verbose] >
00:00:12 #142 [Verbose] > ╭─[ 212.17ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #143 [Verbose] > │ () │
00:00:12 #144 [Verbose] > │ │
00:00:12 #145 [Verbose] > │ │
00:00:12 #146 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #147 [Verbose] >
00:00:12 #148 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #149 [Verbose] > // // test
00:00:12 #150 [Verbose] >
00:00:12 #151 [Verbose] > inl rec fold_list f s = function
00:00:12 #152 [Verbose] > | Cons (x, x') => fold_list f (f s x) x'
00:00:12 #153 [Verbose] > | Nil => s
00:00:12 #154 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5535-3579-3b20dc0546af\main.spi
00:00:12 #155 [Verbose] >
00:00:12 #156 [Verbose] > ╭─[ 199.66ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #157 [Verbose] > │ () │
00:00:12 #158 [Verbose] > │ │
00:00:12 #159 [Verbose] > │ │
00:00:12 #160 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #161 [Verbose] >
00:00:12 #162 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #163 [Verbose] > // // test
00:00:12 #164 [Verbose] >
00:00:12 #165 [Verbose] > [[5i32; 4; join 3; 2; 1]]
00:00:12 #166 [Verbose] > |> fold_list (+) 0
00:00:12 #167 [Verbose] > |> _equal 15
00:00:12 #168 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5555-5599-5675db7c9d0d\main.spi
00:00:12 #169 [Verbose] >
00:00:12 #170 [Verbose] > ╭─[ 394.49ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #171 [Verbose] > │ let rec method1 () : int32 = │
00:00:12 #172 [Verbose] > │ 3 │
00:00:12 #173 [Verbose] > │ and method0 () : unit = │
00:00:12 #174 [Verbose] > │ let v0 : int32 = method1() │
00:00:12 #175 [Verbose] > │ let v1 : int32 = 9 + v0 │
00:00:12 #176 [Verbose] > │ let v2 : int32 = v1 + 2 │
00:00:12 #177 [Verbose] > │ let v3 : int32 = v2 + 1 │
00:00:12 #178 [Verbose] > │ let v4 : bool = v3 = 15 │
00:00:12 #179 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{15}" │
00:00:12 #180 [Verbose] > │ let v6 : bool = v4 = false │
00:00:12 #181 [Verbose] > │ if v6 then │
00:00:12 #182 [Verbose] > │ failwith<unit> v5 │
00:00:12 #183 [Verbose] > │ method0() │
00:00:12 #184 [Verbose] > │ │
00:00:12 #185 [Verbose] > │ │
00:00:12 #186 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #187 [Verbose] >
00:00:12 #188 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #189 [Verbose] > // // test
00:00:12 #190 [Verbose] >
00:00:12 #191 [Verbose] > [[5i32; 4; join 3; 2; 1]]
00:00:12 #192 [Verbose] > |> fold_list (join_body (+)) 0
00:00:12 #193 [Verbose] > |> _equal 15
00:00:13 #194 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5596-9631-9a6e6903d706\main.spi
00:00:13 #195 [Verbose] >
00:00:13 #196 [Verbose] > ╭─[ 235.17ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #197 [Verbose] > │ let rec method1 () : int32 = │
00:00:13 #198 [Verbose] > │ 3 │
00:00:13 #199 [Verbose] > │ and method2 (v0 : int32, v1 : int32) : int32 = │
00:00:13 #200 [Verbose] > │ let v2 : int32 = v1 + v0 │
00:00:13 #201 [Verbose] > │ v2 │
00:00:13 #202 [Verbose] > │ and method0 () : unit = │
00:00:13 #203 [Verbose] > │ let v0 : int32 = method1() │
00:00:13 #204 [Verbose] > │ let v1 : int32 = 9 │
00:00:13 #205 [Verbose] > │ let v2 : int32 = method2(v0, v1) │
00:00:13 #206 [Verbose] > │ let v3 : int32 = v2 + 2 │
00:00:13 #207 [Verbose] > │ let v4 : int32 = v3 + 1 │
00:00:13 #208 [Verbose] > │ let v5 : bool = v4 = 15 │
00:00:13 #209 [Verbose] > │ let v6 : string = $"_equal / actual: %A{v4} / expected: %A{15}" │
00:00:13 #210 [Verbose] > │ let v7 : bool = v5 = false │
00:00:13 #211 [Verbose] > │ if v7 then │
00:00:13 #212 [Verbose] > │ failwith<unit> v6 │
00:00:13 #213 [Verbose] > │ method0() │
00:00:13 #214 [Verbose] > │ │
00:00:13 #215 [Verbose] > │ │
00:00:13 #216 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #217 [Verbose] >
00:00:13 #218 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #219 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #220 [Verbose] > │ ## join_body_unit │
00:00:13 #221 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #222 [Verbose] >
00:00:13 #223 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #224 [Verbose] > inl join_body_unit body d x =
00:00:13 #225 [Verbose] > if var_is d |> not
00:00:13 #226 [Verbose] > then body x
00:00:13 #227 [Verbose] > else
00:00:13 #228 [Verbose] > inl x = dyn x
00:00:13 #229 [Verbose] > join body x
00:00:13 #230 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5620-2089-243106bd1c93\main.spi
00:00:13 #231 [Verbose] >
00:00:13 #232 [Verbose] > ╭─[ 212.34ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #233 [Verbose] > │ () │
00:00:13 #234 [Verbose] > │ │
00:00:13 #235 [Verbose] > │ │
00:00:13 #236 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #237 [Verbose] >
00:00:13 #238 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #239 [Verbose] > // // test
00:00:13 #240 [Verbose] >
00:00:13 #241 [Verbose] > [[5i32; 4; join 3; 2; 1]]
00:00:13 #242 [Verbose] > |> fold_list (fun acc n => join_body_unit ((+) acc) n n) 0
00:00:13 #243 [Verbose] > |> _equal 15
00:00:13 #244 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5642-4232-43644fc36d64\main.spi
00:00:13 #245 [Verbose] >
00:00:13 #246 [Verbose] > ╭─[ 200.44ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #247 [Verbose] > │ let rec method1 () : int32 = │
00:00:13 #248 [Verbose] > │ 3 │
00:00:13 #249 [Verbose] > │ and method2 (v0 : int32) : int32 = │
00:00:13 #250 [Verbose] > │ let v1 : int32 = 9 + v0 │
00:00:13 #251 [Verbose] > │ v1 │
00:00:13 #252 [Verbose] > │ and method0 () : unit = │
00:00:13 #253 [Verbose] > │ let v0 : int32 = method1() │
00:00:13 #254 [Verbose] > │ let v1 : int32 = method2(v0) │
00:00:13 #255 [Verbose] > │ let v2 : int32 = v1 + 2 │
00:00:13 #256 [Verbose] > │ let v3 : int32 = v2 + 1 │
00:00:13 #257 [Verbose] > │ let v4 : bool = v3 = 15 │
00:00:13 #258 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{15}" │
00:00:13 #259 [Verbose] > │ let v6 : bool = v4 = false │
00:00:13 #260 [Verbose] > │ if v6 then │
00:00:13 #261 [Verbose] > │ failwith<unit> v5 │
00:00:13 #262 [Verbose] > │ method0() │
00:00:13 #263 [Verbose] > │ │
00:00:13 #264 [Verbose] > │ │
00:00:13 #265 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #266 [Verbose] >
00:00:13 #267 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #268 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #269 [Verbose] > │ ## run_target │
00:00:13 #270 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #271 [Verbose] >
00:00:13 #272 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #273 [Verbose] > union target_runtime =
00:00:13 #274 [Verbose] > | Native
00:00:13 #275 [Verbose] > | Wasm
00:00:13 #276 [Verbose] >
00:00:13 #277 [Verbose] > union target =
00:00:13 #278 [Verbose] > | Rust : target_runtime
00:00:13 #279 [Verbose] > | Fsharp
00:00:13 #280 [Verbose] >
00:00:13 #281 [Verbose] > inl run_target forall t. (fn : target -> (() -> t)) : t =
00:00:13 #282 [Verbose] > $"let mutable result = None"
00:00:13 #283 [Verbose] > $"#if FABLE_COMPILER_RUST"
00:00:13 #284 [Verbose] > $"#if \!WASM"
00:00:13 #285 [Verbose] > fn (Rust Native) () |> fun x => $"!x"
00:00:13 #286 [Verbose] > $"#else"
00:00:13 #287 [Verbose] > fn (Rust Wasm) () |> fun x => $"!x"
00:00:13 #288 [Verbose] > $"#endif"
00:00:13 #289 [Verbose] > $"#else"
00:00:13 #290 [Verbose] > fn Fsharp () |> fun x => $"!x"
00:00:13 #291 [Verbose] > $"#endif"
00:00:13 #292 [Verbose] > $"|> fun x -> result <- Some x"
00:00:13 #293 [Verbose] > $"result |> Option.get"
00:00:13 #294 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5663-6350-6957bb8b6fcf\main.spi
00:00:13 #295 [Verbose] >
00:00:13 #296 [Verbose] > ╭─[ 196.58ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #297 [Verbose] > │ () │
00:00:13 #298 [Verbose] > │ │
00:00:13 #299 [Verbose] > │ │
00:00:13 #300 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #301 [Verbose] >
00:00:13 #302 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #303 [Verbose] > // // test
00:00:13 #304 [Verbose] >
00:00:13 #305 [Verbose] > run_target function
00:00:13 #306 [Verbose] > | Fsharp => fun () => $"1uy"
00:00:13 #307 [Verbose] > | Rust (Native) => fun () => $"2uy"
00:00:13 #308 [Verbose] > | Rust (Wasm) => fun () => $"3uy"
00:00:13 #309 [Verbose] > |> _equal 1u8
00:00:13 #310 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5683-8328-8f768f27676e\main.spi
00:00:14 #311 [Verbose] >
00:00:14 #312 [Verbose] > ╭─[ 359.23ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #313 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #314 [Verbose] > │ let mutable result = None │
00:00:14 #315 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:14 #316 [Verbose] > │ #if !WASM │
00:00:14 #317 [Verbose] > │ let v0 : uint8 = 2uy │
00:00:14 #318 [Verbose] > │ v0 │
00:00:14 #319 [Verbose] > │ #else │
00:00:14 #320 [Verbose] > │ let v1 : uint8 = 3uy │
00:00:14 #321 [Verbose] > │ v1 │
00:00:14 #322 [Verbose] > │ #endif │
00:00:14 #323 [Verbose] > │ #else │
00:00:14 #324 [Verbose] > │ let v2 : uint8 = 1uy │
00:00:14 #325 [Verbose] > │ v2 │
00:00:14 #326 [Verbose] > │ #endif │
00:00:14 #327 [Verbose] > │ |> fun x -> result <- Some x │
00:00:14 #328 [Verbose] > │ let v3 : uint8 = result |> Option.get │
00:00:14 #329 [Verbose] > │ let v4 : bool = v3 = 1uy │
00:00:14 #330 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{1uy}" │
00:00:14 #331 [Verbose] > │ let v6 : bool = v4 = false │
00:00:14 #332 [Verbose] > │ if v6 then │
00:00:14 #333 [Verbose] > │ failwith<unit> v5 │
00:00:14 #334 [Verbose] > │ method0() │
00:00:14 #335 [Verbose] > │ │
00:00:14 #336 [Verbose] > │ │
00:00:14 #337 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #338 [Verbose] >
00:00:14 #339 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #340 [Verbose] > // // test
00:00:14 #341 [Verbose] > // // rust=
00:00:14 #342 [Verbose] >
00:00:14 #343 [Verbose] > run_target function
00:00:14 #344 [Verbose] > | Fsharp => fun () => $"1uy"
00:00:14 #345 [Verbose] > | Rust (Native) => fun () => $"2uy"
00:00:14 #346 [Verbose] > | Rust (Wasm) => fun () => $"3uy"
00:00:14 #347 [Verbose] > |> (=) 2u8
00:00:14 #348 [Verbose] > |> _equal true
00:00:14 #349 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0117-5720-2034-2fdfb8ca3b37\main.spi
00:00:20 #350 [Verbose] >
00:00:20 #351 [Verbose] > ╭─[ 6.25s - return value ]─────────────────────────────────────────────────────╮
00:00:20 #352 [Verbose] > │ .rs output: │
00:00:20 #353 [Verbose] > │ │
00:00:20 #354 [Verbose] > │ │
00:00:20 #355 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #356 [Verbose] >
00:00:20 #357 [Verbose] > ╭─[ 6.27s - stdout ]───────────────────────────────────────────────────────────╮
00:00:20 #358 [Verbose] > │ │
00:00:20 #359 [Verbose] > │ .fsx: │
00:00:20 #360 [Verbose] > │ let rec method0 () : unit = │
00:00:20 #361 [Verbose] > │ let mutable result = None │
00:00:20 #362 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:20 #363 [Verbose] > │ #if !WASM │
00:00:20 #364 [Verbose] > │ let v0 : uint8 = 2uy │
00:00:20 #365 [Verbose] > │ v0 │
00:00:20 #366 [Verbose] > │ #else │
00:00:20 #367 [Verbose] > │ let v1 : uint8 = 3uy │
00:00:20 #368 [Verbose] > │ v1 │
00:00:20 #369 [Verbose] > │ #endif │
00:00:20 #370 [Verbose] > │ #else │
00:00:20 #371 [Verbose] > │ let v2 : uint8 = 1uy │
00:00:20 #372 [Verbose] > │ v2 │
00:00:20 #373 [Verbose] > │ #endif │
00:00:20 #374 [Verbose] > │ |> fun x -> result <- Some x │
00:00:20 #375 [Verbose] > │ let v3 : uint8 = result |> Option.get │
00:00:20 #376 [Verbose] > │ let v4 : bool = 2uy = v3 │
00:00:20 #377 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v4} / expected: %A{true}" │
00:00:20 #378 [Verbose] > │ let v6 : bool = v4 = false │
00:00:20 #379 [Verbose] > │ if v6 then │
00:00:20 #380 [Verbose] > │ failwith<unit> v5 │
00:00:20 #381 [Verbose] > │ method0() │
00:00:20 #382 [Verbose] > │ │
00:00:20 #383 [Verbose] > │ .rs: │
00:00:20 #384 [Verbose] > │ #![allow(dead_code,)] │
00:00:20 #385 [Verbose] > │ #![allow(non_camel_case_types,)] │
00:00:20 #386 [Verbose] > │ #![allow(non_snake_case,)] │
00:00:20 #387 [Verbose] > │ #![allow(non_upper_case_globals,)] │
00:00:20 #388 [Verbose] > │ #![allow(unreachable_code,)] │
00:00:20 #389 [Verbose] > │ #![allow(unused_attributes,)] │
00:00:20 #390 [Verbose] > │ #![allow(unused_imports,)] │
00:00:20 #391 [Verbose] > │ #![allow(unused_macros,)] │
00:00:20 #392 [Verbose] > │ #![allow(unused_parens,)] │
00:00:20 #393 [Verbose] > │ #![allow(unused_variables,)] │
00:00:20 #394 [Verbose] > │ mod module_3acfb8b4 { │
00:00:20 #395 [Verbose] > │ pub mod Repl_main { │
00:00:20 #396 [Verbose] > │ use super::*; │
00:00:20 #397 [Verbose] > │ use fable_library_rust::Native_::Any; │
00:00:20 #398 [Verbose] > │ use fable_library_rust::Native_::MutCell; │
00:00:20 #399 [Verbose] > │ use fable_library_rust::Native_::on_startup; │
00:00:20 #400 [Verbose] > │ use fable_library_rust::Option_::getValue; │
00:00:20 #401 [Verbose] > │ use fable_library_rust::String_::sprintf; │
00:00:20 #402 [Verbose] > │ pub fn method0() { │
00:00:20 #403 [Verbose] > │ let result: MutCell<Option<u8>> = MutCell::new(None::<u8>); │
00:00:20 #404 [Verbose] > │ result.set(Some(2_u8)); │
00:00:20 #405 [Verbose] > │ { │
00:00:20 #406 [Verbose] > │ let v4: bool = 2_u8 == getValue(result.get()); │
00:00:20 #407 [Verbose] > │ if v4 == false { │
00:00:20 #408 [Verbose] > │ panic!("{}", │
00:00:20 #409 [Verbose] > │ sprintf!("_equal / actual: {:?} / expected: │
00:00:20 #410 [Verbose] > │ {:?}", &v4, &true)); │
00:00:20 #411 [Verbose] > │ } │
00:00:20 #412 [Verbose] > │ } │
00:00:20 #413 [Verbose] > │ } │
00:00:20 #414 [Verbose] > │ on_startup!(Repl_main::method0()); │
00:00:20 #415 [Verbose] > │ } │
00:00:20 #416 [Verbose] > │ } │
00:00:20 #417 [Verbose] > │ pub use module_3acfb8b4::*; │
00:00:20 #418 [Verbose] > │ │
00:00:20 #419 [Verbose] > │ │
00:00:20 #420 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #421 [Verbose] >
00:00:20 #422 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #423 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #424 [Verbose] > │ ## format_debug │
00:00:20 #425 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #426 [Verbose] >
00:00:20 #427 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #428 [Verbose] > inl format_debug x =
00:00:20 #429 [Verbose] > $"$\"%A{!x}\"" : string
00:00:20 #430 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-0351-5109-59269cfcd1ec\main.spi
00:00:20 #431 [Verbose] >
00:00:20 #432 [Verbose] > ╭─[ 188.18ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #433 [Verbose] > │ () │
00:00:20 #434 [Verbose] > │ │
00:00:20 #435 [Verbose] > │ │
00:00:20 #436 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #437 [Verbose] >
00:00:20 #438 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #439 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #440 [Verbose] > │ ## nameof │
00:00:20 #441 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #442 [Verbose] >
00:00:20 #443 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #444 [Verbose] > inl nameof x : string =
00:00:20 #445 [Verbose] > $"nameof !x"
00:00:20 #446 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-0370-7002-7fa7f4fd7565\main.spi
00:00:20 #447 [Verbose] >
00:00:20 #448 [Verbose] > ╭─[ 183.74ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #449 [Verbose] > │ () │
00:00:20 #450 [Verbose] > │ │
00:00:20 #451 [Verbose] > │ │
00:00:20 #452 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #453 [Verbose] >
00:00:20 #454 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #455 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #456 [Verbose] > │ ## obj_to_string │
00:00:20 #457 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #458 [Verbose] >
00:00:20 #459 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #460 [Verbose] > inl obj_to_string x : string =
00:00:20 #461 [Verbose] > $"!x.ToString ()"
00:00:20 #462 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-0388-8884-8018ce862a17\main.spi
00:00:21 #463 [Verbose] >
00:00:21 #464 [Verbose] > ╭─[ 171.16ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #465 [Verbose] > │ () │
00:00:21 #466 [Verbose] > │ │
00:00:21 #467 [Verbose] > │ │
00:00:21 #468 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #469 [Verbose] >
00:00:21 #470 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:21 #471 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:21 #472 [Verbose] > │ ## get_environment_variable │
00:00:21 #473 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #474 [Verbose] >
00:00:21 #475 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #476 [Verbose] > inl get_environment_variable (var : string) : string =
00:00:21 #477 [Verbose] > $"System.Environment.GetEnvironmentVariable !var"
00:00:21 #478 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-0406-0647-0ad5b9f3e8ff\main.spi
00:00:21 #479 [Verbose] >
00:00:21 #480 [Verbose] > ╭─[ 250.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #481 [Verbose] > │ () │
00:00:21 #482 [Verbose] > │ │
00:00:21 #483 [Verbose] > │ │
00:00:21 #484 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #485 [Verbose] > [NbConvertApp] Converting notebook common.dib.ipynb to html
00:00:23 #486 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:23 #487 [Verbose] > validate(nb)
00:00:23 #488 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:23 #489 [Verbose] > return _pygments_highlight(
00:00:23 #490 [Verbose] > [NbConvertApp] Writing 309598 bytes to common.dib.html
00:00:24 #491 [Debug] executeAsync / exitCode: 0 / output.Length: 27302
00:00:24 #492 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 console.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # console │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-1540-4039-418afa831309\main.spi
00:00:10 #22 [Verbose] >
00:00:10 #23 [Verbose] > ╭─[ 5.91s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #24 [Verbose] > │ () │
00:00:10 #25 [Verbose] > │ │
00:00:10 #26 [Verbose] > │ │
00:00:10 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #28 [Verbose] >
00:00:10 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #31 [Verbose] > │ ## write_line │
00:00:10 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #33 [Verbose] >
00:00:10 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #35 [Verbose] > inl write_line obj : () =
00:00:10 #36 [Verbose] > $"System.Console.WriteLine !obj"
00:00:10 #37 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-1878-7804-76c16156246f\main.spi
00:00:10 #38 [Verbose] >
00:00:10 #39 [Verbose] > ╭─[ 206.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #40 [Verbose] > │ () │
00:00:10 #41 [Verbose] > │ │
00:00:10 #42 [Verbose] > │ │
00:00:10 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #44 [Verbose] >
00:00:10 #45 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #46 [Verbose] > inl write_line_ ~obj : () =
00:00:10 #47 [Verbose] > $"System.Console.WriteLine !obj"
00:00:10 #48 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-1898-9864-9c819a8f3073\main.spi
00:00:10 #49 [Verbose] >
00:00:10 #50 [Verbose] > ╭─[ 238.49ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #51 [Verbose] > │ () │
00:00:10 #52 [Verbose] > │ │
00:00:10 #53 [Verbose] > │ │
00:00:10 #54 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #55 [Verbose] > [NbConvertApp] Converting notebook console.dib.ipynb to html
00:00:13 #56 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:13 #57 [Verbose] > validate(nb)
00:00:14 #58 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:14 #59 [Verbose] > return _pygments_highlight(
00:00:14 #60 [Verbose] > [NbConvertApp] Writing 273326 bytes to console.dib.html
00:00:15 #61 [Debug] executeAsync / exitCode: 0 / output.Length: 3010
00:00:15 #62 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 math.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # math │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:08 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3137-3702-34666055473a\main.spi
00:00:10 #22 [Verbose] >
00:00:10 #23 [Verbose] > ╭─[ 6.40s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #24 [Verbose] > │ () │
00:00:10 #25 [Verbose] > │ │
00:00:10 #26 [Verbose] > │ │
00:00:10 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #28 [Verbose] >
00:00:10 #29 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #30 [Verbose] > // // test
00:00:10 #31 [Verbose] >
00:00:10 #32 [Verbose] > 2 * 2 / 0.4f64 |> sqrt
00:00:10 #33 [Verbose] > |> _almost_equal 3.1622776601683795
00:00:10 #34 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3527-2740-2d328af5457c\main.spi
00:00:11 #35 [Verbose] >
00:00:11 #36 [Verbose] > ╭─[ 801.60ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #37 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #38 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{3.1622776601683795} / │
00:00:11 #39 [Verbose] > │ expected: %A{3.1622776601683795}" │
00:00:11 #40 [Verbose] > │ () │
00:00:11 #41 [Verbose] > │ method0() │
00:00:11 #42 [Verbose] > │ │
00:00:11 #43 [Verbose] > │ │
00:00:11 #44 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #45 [Verbose] >
00:00:11 #46 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #47 [Verbose] > // // test
00:00:11 #48 [Verbose] >
00:00:11 #49 [Verbose] > 2f64 / 3
00:00:11 #50 [Verbose] > |> _almost_equal 0.6666666666666666
00:00:11 #51 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3607-0783-0f870f137d8f\main.spi
00:00:11 #52 [Verbose] >
00:00:11 #53 [Verbose] > ╭─[ 199.73ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #54 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #55 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.6666666666666666} / │
00:00:11 #56 [Verbose] > │ expected: %A{0.6666666666666666}" │
00:00:11 #57 [Verbose] > │ () │
00:00:11 #58 [Verbose] > │ method0() │
00:00:11 #59 [Verbose] > │ │
00:00:11 #60 [Verbose] > │ │
00:00:11 #61 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #62 [Verbose] >
00:00:11 #63 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #64 [Verbose] > // // test
00:00:11 #65 [Verbose] >
00:00:11 #66 [Verbose] > 2f64 |> log
00:00:11 #67 [Verbose] > |> _almost_equal 0.6931471805599453
00:00:11 #68 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3628-2827-2ed57c944f5d\main.spi
00:00:11 #69 [Verbose] >
00:00:11 #70 [Verbose] > ╭─[ 183.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #71 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #72 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.6931471805599453} / │
00:00:11 #73 [Verbose] > │ expected: %A{0.6931471805599453}" │
00:00:11 #74 [Verbose] > │ () │
00:00:11 #75 [Verbose] > │ method0() │
00:00:11 #76 [Verbose] > │ │
00:00:11 #77 [Verbose] > │ │
00:00:11 #78 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #79 [Verbose] >
00:00:11 #80 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #81 [Verbose] > // // test
00:00:11 #82 [Verbose] >
00:00:11 #83 [Verbose] > pi
00:00:11 #84 [Verbose] > |> _almost_equal 3.141592653589793f64
00:00:12 #85 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3646-4691-43e7b5332569\main.spi
00:00:12 #86 [Verbose] >
00:00:12 #87 [Verbose] > ╭─[ 183.48ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #88 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #89 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{3.141592653589793} / │
00:00:12 #90 [Verbose] > │ expected: %A{3.141592653589793}" │
00:00:12 #91 [Verbose] > │ () │
00:00:12 #92 [Verbose] > │ method0() │
00:00:12 #93 [Verbose] > │ │
00:00:12 #94 [Verbose] > │ │
00:00:12 #95 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #96 [Verbose] >
00:00:12 #97 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #98 [Verbose] > // // test
00:00:12 #99 [Verbose] >
00:00:12 #100 [Verbose] > pi |> cos
00:00:12 #101 [Verbose] > |> _equal -1f64
00:00:12 #102 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3665-6560-64fe38d06d51\main.spi
00:00:12 #103 [Verbose] >
00:00:12 #104 [Verbose] > ╭─[ 174.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #105 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #106 [Verbose] > │ let v0 : string = $"_equal / actual: %A{-1.0} / expected: %A{-1.0}" │
00:00:12 #107 [Verbose] > │ () │
00:00:12 #108 [Verbose] > │ method0() │
00:00:12 #109 [Verbose] > │ │
00:00:12 #110 [Verbose] > │ │
00:00:12 #111 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #112 [Verbose] >
00:00:12 #113 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #114 [Verbose] > // // test
00:00:12 #115 [Verbose] >
00:00:12 #116 [Verbose] > pi
00:00:12 #117 [Verbose] > |> cos
00:00:12 #118 [Verbose] > |> fun n => n / 2f64
00:00:12 #119 [Verbose] > |> _almost_equal -0.5
00:00:12 #120 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3683-8348-88dccdf60ace\main.spi
00:00:12 #121 [Verbose] >
00:00:12 #122 [Verbose] > ╭─[ 182.28ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #123 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #124 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{-0.5} / expected: │
00:00:12 #125 [Verbose] > │ %A{-0.5}" │
00:00:12 #126 [Verbose] > │ () │
00:00:12 #127 [Verbose] > │ method0() │
00:00:12 #128 [Verbose] > │ │
00:00:12 #129 [Verbose] > │ │
00:00:12 #130 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #131 [Verbose] >
00:00:12 #132 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #133 [Verbose] > // // test
00:00:12 #134 [Verbose] >
00:00:12 #135 [Verbose] > pi / 2 |> cos
00:00:12 #136 [Verbose] > |> _almost_equal 0.00000000000000006123233995736766f64
00:00:12 #137 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3703-0345-001ab3db2069\main.spi
00:00:12 #138 [Verbose] >
00:00:12 #139 [Verbose] > ╭─[ 191.50ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #140 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #141 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{6.123233995736766E-17} / │
00:00:12 #142 [Verbose] > │ expected: %A{6.123233995736766E-17}" │
00:00:12 #143 [Verbose] > │ () │
00:00:12 #144 [Verbose] > │ method0() │
00:00:12 #145 [Verbose] > │ │
00:00:12 #146 [Verbose] > │ │
00:00:12 #147 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #148 [Verbose] >
00:00:12 #149 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #150 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #151 [Verbose] > │ ## atan2 │
00:00:12 #152 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #153 [Verbose] >
00:00:12 #154 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #155 [Verbose] > inl atan2 (y : f64) (x : f64) =
00:00:12 #156 [Verbose] > $"System.Math.Atan2 (!y, !x)" : f64
00:00:12 #157 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3723-2370-26c644ed6778\main.spi
00:00:12 #158 [Verbose] >
00:00:12 #159 [Verbose] > ╭─[ 188.46ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #160 [Verbose] > │ () │
00:00:12 #161 [Verbose] > │ │
00:00:12 #162 [Verbose] > │ │
00:00:12 #163 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #164 [Verbose] >
00:00:12 #165 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #166 [Verbose] > // // test
00:00:12 #167 [Verbose] >
00:00:12 #168 [Verbose] > 0 |> atan2 1
00:00:12 #169 [Verbose] > |> _equal 1.5707963267948966
00:00:13 #170 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3742-4253-4e13829e5808\main.spi
00:00:13 #171 [Verbose] >
00:00:13 #172 [Verbose] > ╭─[ 672.54ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #173 [Verbose] > │ let rec method0 () : unit = │
00:00:13 #174 [Verbose] > │ let v0 : float = System.Math.Atan2 (1.0, 0.0) │
00:00:13 #175 [Verbose] > │ let v1 : bool = v0 = 1.5707963267948966 │
00:00:13 #176 [Verbose] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: │
00:00:13 #177 [Verbose] > │ %A{1.5707963267948966}" │
00:00:13 #178 [Verbose] > │ let v3 : bool = v1 = false │
00:00:13 #179 [Verbose] > │ if v3 then │
00:00:13 #180 [Verbose] > │ failwith<unit> v2 │
00:00:13 #181 [Verbose] > │ method0() │
00:00:13 #182 [Verbose] > │ │
00:00:13 #183 [Verbose] > │ │
00:00:13 #184 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #185 [Verbose] >
00:00:13 #186 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #187 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #188 [Verbose] > │ ## e │
00:00:13 #189 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #190 [Verbose] >
00:00:13 #191 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #192 [Verbose] > inl e () =
00:00:13 #193 [Verbose] > exp 1f64
00:00:13 #194 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3811-1163-12a1ee4ef612\main.spi
00:00:13 #195 [Verbose] >
00:00:13 #196 [Verbose] > ╭─[ 187.09ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #197 [Verbose] > │ () │
00:00:13 #198 [Verbose] > │ │
00:00:13 #199 [Verbose] > │ │
00:00:13 #200 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #201 [Verbose] >
00:00:13 #202 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #203 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #204 [Verbose] > │ ## floor │
00:00:13 #205 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #206 [Verbose] >
00:00:13 #207 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #208 [Verbose] > inl floor forall t {float}. (x : t) : t =
00:00:13 #209 [Verbose] > $"floor !x"
00:00:13 #210 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3830-3067-38b45a487281\main.spi
00:00:14 #211 [Verbose] >
00:00:14 #212 [Verbose] > ╭─[ 177.23ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #213 [Verbose] > │ () │
00:00:14 #214 [Verbose] > │ │
00:00:14 #215 [Verbose] > │ │
00:00:14 #216 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #217 [Verbose] >
00:00:14 #218 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #219 [Verbose] > // // test
00:00:14 #220 [Verbose] >
00:00:14 #221 [Verbose] > 0.6 |> floor
00:00:14 #222 [Verbose] > |> _equal 0f64
00:00:14 #223 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3848-4864-487a1387e9e4\main.spi
00:00:14 #224 [Verbose] >
00:00:14 #225 [Verbose] > ╭─[ 257.61ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #226 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #227 [Verbose] > │ let v0 : float = floor 0.6 │
00:00:14 #228 [Verbose] > │ let v1 : bool = v0 = 0.0 │
00:00:14 #229 [Verbose] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}" │
00:00:14 #230 [Verbose] > │ let v3 : bool = v1 = false │
00:00:14 #231 [Verbose] > │ if v3 then │
00:00:14 #232 [Verbose] > │ failwith<unit> v2 │
00:00:14 #233 [Verbose] > │ method0() │
00:00:14 #234 [Verbose] > │ │
00:00:14 #235 [Verbose] > │ │
00:00:14 #236 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #237 [Verbose] >
00:00:14 #238 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #239 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #240 [Verbose] > │ ## log_base │
00:00:14 #241 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #242 [Verbose] >
00:00:14 #243 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #244 [Verbose] > inl log_base (new_base : f64) (a : f64) =
00:00:14 #245 [Verbose] > $"System.Math.Log (!a, !new_base)" : f64
00:00:14 #246 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3875-7575-7550d2d26d1b\main.spi
00:00:14 #247 [Verbose] >
00:00:14 #248 [Verbose] > ╭─[ 171.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #249 [Verbose] > │ () │
00:00:14 #250 [Verbose] > │ │
00:00:14 #251 [Verbose] > │ │
00:00:14 #252 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #253 [Verbose] >
00:00:14 #254 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #255 [Verbose] > // // test
00:00:14 #256 [Verbose] >
00:00:14 #257 [Verbose] > 100 |> log_base 10
00:00:14 #258 [Verbose] > |> _equal 2
00:00:14 #259 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3892-9282-9468d567cc2c\main.spi
00:00:14 #260 [Verbose] >
00:00:14 #261 [Verbose] > ╭─[ 197.89ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #262 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #263 [Verbose] > │ let v0 : float = System.Math.Log (100.0, 10.0) │
00:00:14 #264 [Verbose] > │ let v1 : bool = v0 = 2.0 │
00:00:14 #265 [Verbose] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{2.0}" │
00:00:14 #266 [Verbose] > │ let v3 : bool = v1 = false │
00:00:14 #267 [Verbose] > │ if v3 then │
00:00:14 #268 [Verbose] > │ failwith<unit> v2 │
00:00:14 #269 [Verbose] > │ method0() │
00:00:14 #270 [Verbose] > │ │
00:00:14 #271 [Verbose] > │ │
00:00:14 #272 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #273 [Verbose] >
00:00:14 #274 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #275 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #276 [Verbose] > │ ## round │
00:00:14 #277 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #278 [Verbose] >
00:00:14 #279 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #280 [Verbose] > inl round forall t {float}. (x : t) : t =
00:00:14 #281 [Verbose] > $"round !x"
00:00:14 #282 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3913-1344-1ed46c4f5f37\main.spi
00:00:14 #283 [Verbose] >
00:00:14 #284 [Verbose] > ╭─[ 218.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #285 [Verbose] > │ () │
00:00:14 #286 [Verbose] > │ │
00:00:14 #287 [Verbose] > │ │
00:00:14 #288 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #289 [Verbose] >
00:00:14 #290 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #291 [Verbose] > // // test
00:00:14 #292 [Verbose] >
00:00:14 #293 [Verbose] > 0.5 |> round
00:00:14 #294 [Verbose] > |> _equal 0f64
00:00:15 #295 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3935-3581-3178aa46304b\main.spi
00:00:15 #296 [Verbose] >
00:00:15 #297 [Verbose] > ╭─[ 187.92ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #298 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #299 [Verbose] > │ let v0 : float = round 0.5 │
00:00:15 #300 [Verbose] > │ let v1 : bool = v0 = 0.0 │
00:00:15 #301 [Verbose] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}" │
00:00:15 #302 [Verbose] > │ let v3 : bool = v1 = false │
00:00:15 #303 [Verbose] > │ if v3 then │
00:00:15 #304 [Verbose] > │ failwith<unit> v2 │
00:00:15 #305 [Verbose] > │ method0() │
00:00:15 #306 [Verbose] > │ │
00:00:15 #307 [Verbose] > │ │
00:00:15 #308 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #309 [Verbose] >
00:00:15 #310 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #311 [Verbose] > // // test
00:00:15 #312 [Verbose] >
00:00:15 #313 [Verbose] > 0.6 |> round
00:00:15 #314 [Verbose] > |> _equal 1f64
00:00:15 #315 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3955-5501-52e7fbbc43cf\main.spi
00:00:15 #316 [Verbose] >
00:00:15 #317 [Verbose] > ╭─[ 190.65ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #318 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #319 [Verbose] > │ let v0 : float = round 0.6 │
00:00:15 #320 [Verbose] > │ let v1 : bool = v0 = 1.0 │
00:00:15 #321 [Verbose] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{1.0}" │
00:00:15 #322 [Verbose] > │ let v3 : bool = v1 = false │
00:00:15 #323 [Verbose] > │ if v3 then │
00:00:15 #324 [Verbose] > │ failwith<unit> v2 │
00:00:15 #325 [Verbose] > │ method0() │
00:00:15 #326 [Verbose] > │ │
00:00:15 #327 [Verbose] > │ │
00:00:15 #328 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #329 [Verbose] >
00:00:15 #330 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 #331 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 #332 [Verbose] > │ ## square │
00:00:15 #333 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #334 [Verbose] >
00:00:15 #335 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #336 [Verbose] > inl square x =
00:00:15 #337 [Verbose] > x ** 2
00:00:15 #338 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3975-7589-7edb60505541\main.spi
00:00:15 #339 [Verbose] >
00:00:15 #340 [Verbose] > ╭─[ 174.81ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #341 [Verbose] > │ () │
00:00:15 #342 [Verbose] > │ │
00:00:15 #343 [Verbose] > │ │
00:00:15 #344 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #345 [Verbose] >
00:00:15 #346 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #347 [Verbose] > // // test
00:00:15 #348 [Verbose] >
00:00:15 #349 [Verbose] > 5f64
00:00:15 #350 [Verbose] > |> sqrt
00:00:15 #351 [Verbose] > |> square
00:00:15 #352 [Verbose] > |> _almost_equal 5
00:00:15 #353 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-3993-9308-9212db5fd14e\main.spi
00:00:15 #354 [Verbose] >
00:00:15 #355 [Verbose] > ╭─[ 175.01ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #356 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #357 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{5.000000000000001} / │
00:00:15 #358 [Verbose] > │ expected: %A{5.0}" │
00:00:15 #359 [Verbose] > │ () │
00:00:15 #360 [Verbose] > │ method0() │
00:00:15 #361 [Verbose] > │ │
00:00:15 #362 [Verbose] > │ │
00:00:15 #363 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #364 [Verbose] >
00:00:15 #365 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #366 [Verbose] > // // test
00:00:15 #367 [Verbose] >
00:00:15 #368 [Verbose] > e () |> square
00:00:15 #369 [Verbose] > |> _almost_equal 7.3890560989306495
00:00:15 #370 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-4011-1105-1575aa03ce43\main.spi
00:00:15 #371 [Verbose] >
00:00:15 #372 [Verbose] > ╭─[ 332.20ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #373 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #374 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{7.3890560989306495} / │
00:00:15 #375 [Verbose] > │ expected: %A{7.3890560989306495}" │
00:00:15 #376 [Verbose] > │ () │
00:00:15 #377 [Verbose] > │ method0() │
00:00:15 #378 [Verbose] > │ │
00:00:15 #379 [Verbose] > │ │
00:00:15 #380 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #381 [Verbose] > [NbConvertApp] Converting notebook math.dib.ipynb to html
00:00:18 #382 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:18 #383 [Verbose] > validate(nb)
00:00:19 #384 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:19 #385 [Verbose] > return _pygments_highlight(
00:00:19 #386 [Verbose] > [NbConvertApp] Writing 300934 bytes to math.dib.html
00:00:20 #387 [Debug] executeAsync / exitCode: 0 / output.Length: 20120
00:00:20 #388 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"optionm'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # optionm │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5282-8280-8c35faa0d47b\main.spi
00:00:10 #22 [Verbose] >
00:00:10 #23 [Verbose] > ╭─[ 5.84s - stdout ]───────────────────────────────────────────────────────────╮
00:00:10 #24 [Verbose] > │ () │
00:00:10 #25 [Verbose] > │ │
00:00:10 #26 [Verbose] > │ │
00:00:10 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #28 [Verbose] >
00:00:10 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #31 [Verbose] > │ ## default_value │
00:00:10 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #33 [Verbose] >
00:00:10 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #35 [Verbose] > inl default_value d = optionm.defaultWith d
00:00:10 #36 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5614-1493-14a3feb7c9ed\main.spi
00:00:10 #37 [Verbose] >
00:00:10 #38 [Verbose] > ╭─[ 204.16ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #39 [Verbose] > │ () │
00:00:10 #40 [Verbose] > │ │
00:00:10 #41 [Verbose] > │ │
00:00:10 #42 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #43 [Verbose] >
00:00:10 #44 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #45 [Verbose] > // // test
00:00:10 #46 [Verbose] >
00:00:10 #47 [Verbose] > None
00:00:10 #48 [Verbose] > |> default_value 3i32
00:00:10 #49 [Verbose] > |> _equal 3i32
00:00:10 #50 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5633-3362-39d1abeda032\main.spi
00:00:11 #51 [Verbose] >
00:00:11 #52 [Verbose] > ╭─[ 827.09ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #53 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #54 [Verbose] > │ let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}" │
00:00:11 #55 [Verbose] > │ () │
00:00:11 #56 [Verbose] > │ method0() │
00:00:11 #57 [Verbose] > │ │
00:00:11 #58 [Verbose] > │ │
00:00:11 #59 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #60 [Verbose] >
00:00:11 #61 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #62 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #63 [Verbose] > │ ## default_with │
00:00:11 #64 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #65 [Verbose] >
00:00:11 #66 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #67 [Verbose] > inl default_with fn = function Some x => x | None => fn ()
00:00:11 #68 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5716-1678-1a5ebcda4220\main.spi
00:00:11 #69 [Verbose] >
00:00:11 #70 [Verbose] > ╭─[ 175.30ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #71 [Verbose] > │ () │
00:00:11 #72 [Verbose] > │ │
00:00:11 #73 [Verbose] > │ │
00:00:11 #74 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #75 [Verbose] >
00:00:11 #76 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #77 [Verbose] > // // test
00:00:11 #78 [Verbose] >
00:00:11 #79 [Verbose] > None
00:00:11 #80 [Verbose] > |> default_with (fun () => 3i32)
00:00:11 #81 [Verbose] > |> _equal 3i32
00:00:11 #82 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5734-3459-3b4aa5f624ea\main.spi
00:00:11 #83 [Verbose] >
00:00:11 #84 [Verbose] > ╭─[ 184.15ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #85 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #86 [Verbose] > │ let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}" │
00:00:11 #87 [Verbose] > │ () │
00:00:11 #88 [Verbose] > │ method0() │
00:00:11 #89 [Verbose] > │ │
00:00:11 #90 [Verbose] > │ │
00:00:11 #91 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #92 [Verbose] >
00:00:11 #93 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #94 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #95 [Verbose] > │ ## choose │
00:00:11 #96 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #97 [Verbose] >
00:00:11 #98 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #99 [Verbose] > inl choose fn a b =
00:00:11 #100 [Verbose] > match a, b with
00:00:11 #101 [Verbose] > | Some x, Some y => fn x y |> Some
00:00:11 #102 [Verbose] > | _ => None
00:00:11 #103 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5754-5416-5f352574c5bf\main.spi
00:00:11 #104 [Verbose] >
00:00:11 #105 [Verbose] > ╭─[ 178.82ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #106 [Verbose] > │ () │
00:00:11 #107 [Verbose] > │ │
00:00:11 #108 [Verbose] > │ │
00:00:11 #109 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #110 [Verbose] >
00:00:11 #111 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #112 [Verbose] > // // test
00:00:11 #113 [Verbose] >
00:00:11 #114 [Verbose] > (Some 2i32, Some 3)
00:00:11 #115 [Verbose] > ||> choose (+)
00:00:11 #116 [Verbose] > |> _equal (Some 5)
00:00:12 #117 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5772-7211-793938bec45a\main.spi
00:00:12 #118 [Verbose] >
00:00:12 #119 [Verbose] > ╭─[ 918.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #120 [Verbose] > │ type [<Struct>] US0 = │
00:00:12 #121 [Verbose] > │ | US0_0 │
00:00:12 #122 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:12 #123 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #124 [Verbose] > │ let v3 : US0 = US0_1(5) │
00:00:12 #125 [Verbose] > │ let v4 : US0 = US0_1(5) │
00:00:12 #126 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:12 #127 [Verbose] > │ () │
00:00:12 #128 [Verbose] > │ method0() │
00:00:12 #129 [Verbose] > │ │
00:00:12 #130 [Verbose] > │ │
00:00:12 #131 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #132 [Verbose] >
00:00:12 #133 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #134 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #135 [Verbose] > │ ## iter │
00:00:12 #136 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #137 [Verbose] >
00:00:12 #138 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #139 [Verbose] > inl iter fn = function
00:00:12 #140 [Verbose] > | Some x => fn x
00:00:12 #141 [Verbose] > | None => ()
00:00:13 #142 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5865-6517-6bd4d8e113f5\main.spi
00:00:13 #143 [Verbose] >
00:00:13 #144 [Verbose] > ╭─[ 177.74ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #145 [Verbose] > │ () │
00:00:13 #146 [Verbose] > │ │
00:00:13 #147 [Verbose] > │ │
00:00:13 #148 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #149 [Verbose] >
00:00:13 #150 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #151 [Verbose] > // // test
00:00:13 #152 [Verbose] >
00:00:13 #153 [Verbose] > inl n = mut 1i32
00:00:13 #154 [Verbose] > inl fn =
00:00:13 #155 [Verbose] > fun n' =>
00:00:13 #156 [Verbose] > n <- *n + n'
00:00:13 #157 [Verbose] > Some 1i32 |> iter fn
00:00:13 #158 [Verbose] > None |> iter fn
00:00:13 #159 [Verbose] > *n
00:00:13 #160 [Verbose] > |> _equal 2i32
00:00:13 #161 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5882-8296-83e503ca43cf\main.spi
00:00:13 #162 [Verbose] >
00:00:13 #163 [Verbose] > ╭─[ 423.93ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #164 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:13 #165 [Verbose] > │ let rec method0 () : unit = │
00:00:13 #166 [Verbose] > │ let v0 : Mut0 = {l0 = 1} : Mut0 │
00:00:13 #167 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:13 #168 [Verbose] > │ let v2 : int32 = v1 + 1 │
00:00:13 #169 [Verbose] > │ v0.l0 <- v2 │
00:00:13 #170 [Verbose] > │ let v3 : int32 = v0.l0 │
00:00:13 #171 [Verbose] > │ let v4 : bool = v3 = 2 │
00:00:13 #172 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{2}" │
00:00:13 #173 [Verbose] > │ let v6 : bool = v4 = false │
00:00:13 #174 [Verbose] > │ if v6 then │
00:00:13 #175 [Verbose] > │ failwith<unit> v5 │
00:00:13 #176 [Verbose] > │ method0() │
00:00:13 #177 [Verbose] > │ │
00:00:13 #178 [Verbose] > │ │
00:00:13 #179 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #180 [Verbose] >
00:00:13 #181 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #182 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #183 [Verbose] > │ ## option_fsharp │
00:00:13 #184 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #185 [Verbose] >
00:00:13 #186 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #187 [Verbose] > nominal option_fsharp t = $"`t option"
00:00:13 #188 [Verbose] >
00:00:13 #189 [Verbose] > inl from_fsharp forall t. (x : option_fsharp t) : option t =
00:00:13 #190 [Verbose] > inl some x : option t = Some x
00:00:13 #191 [Verbose] > inl none : option t = None
00:00:13 #192 [Verbose] > $"!x |> Option.map !some |> Option.defaultValue !none"
00:00:13 #193 [Verbose] >
00:00:13 #194 [Verbose] > inl to_fsharp forall t. (x : option t) : option_fsharp t =
00:00:13 #195 [Verbose] > match x with
00:00:13 #196 [Verbose] > | Some x => $"Some !x"
00:00:13 #197 [Verbose] > | None => $"None"
00:00:13 #198 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5926-2651-2d55eac58ecc\main.spi
00:00:13 #199 [Verbose] >
00:00:13 #200 [Verbose] > ╭─[ 192.86ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #201 [Verbose] > │ () │
00:00:13 #202 [Verbose] > │ │
00:00:13 #203 [Verbose] > │ │
00:00:13 #204 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #205 [Verbose] >
00:00:13 #206 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #207 [Verbose] > // // test
00:00:13 #208 [Verbose] >
00:00:13 #209 [Verbose] > inl x = Some 3i32
00:00:13 #210 [Verbose] > inl y : option i32 = None
00:00:13 #211 [Verbose] > inl x' = x |> to_fsharp |> from_fsharp
00:00:13 #212 [Verbose] > inl y' = y |> to_fsharp |> from_fsharp
00:00:13 #213 [Verbose] > (x', y') |> _equal (x, y)
00:00:13 #214 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0118-5946-4609-423900646aad\main.spi
00:00:14 #215 [Verbose] >
00:00:14 #216 [Verbose] > ╭─[ 319.71ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #217 [Verbose] > │ type [<Struct>] US0 = │
00:00:14 #218 [Verbose] > │ | US0_0 │
00:00:14 #219 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:14 #220 [Verbose] > │ let rec closure0 () (v0 : int32) : US0 = │
00:00:14 #221 [Verbose] > │ US0_1(v0) │
00:00:14 #222 [Verbose] > │ and method0 () : unit = │
00:00:14 #223 [Verbose] > │ let v0 : int32 option = Some 3 │
00:00:14 #224 [Verbose] > │ let v1 : (int32 -> US0) = closure0() │
00:00:14 #225 [Verbose] > │ let v2 : US0 = US0_0 │
00:00:14 #226 [Verbose] > │ let v3 : US0 = v0 |> Option.map v1 |> Option.defaultValue v2 │
00:00:14 #227 [Verbose] > │ let v4 : int32 option = None │
00:00:14 #228 [Verbose] > │ let v5 : US0 = US0_0 │
00:00:14 #229 [Verbose] > │ let v6 : US0 = v4 |> Option.map v1 |> Option.defaultValue v5 │
00:00:14 #230 [Verbose] > │ let v11 : bool = │
00:00:14 #231 [Verbose] > │ match v3 with │
00:00:14 #232 [Verbose] > │ | US0_1(v9) -> (* Some *) │
00:00:14 #233 [Verbose] > │ let v10 : bool = v9 = 3 │
00:00:14 #234 [Verbose] > │ v10 │
00:00:14 #235 [Verbose] > │ | _ -> │
00:00:14 #236 [Verbose] > │ false │
00:00:14 #237 [Verbose] > │ let v13 : bool = │
00:00:14 #238 [Verbose] > │ if v11 then │
00:00:14 #239 [Verbose] > │ match v6 with │
00:00:14 #240 [Verbose] > │ | US0_0 -> (* None *) │
00:00:14 #241 [Verbose] > │ true │
00:00:14 #242 [Verbose] > │ | _ -> │
00:00:14 #243 [Verbose] > │ false │
00:00:14 #244 [Verbose] > │ else │
00:00:14 #245 [Verbose] > │ false │
00:00:14 #246 [Verbose] > │ let v14 : US0 = US0_1(3) │
00:00:14 #247 [Verbose] > │ let v15 : US0 = US0_0 │
00:00:14 #248 [Verbose] > │ let v16 : string = $"_equal / actual: %A{struct (v3, v6)} / expected: │
00:00:14 #249 [Verbose] > │ %A{struct (v14, v15)}" │
00:00:14 #250 [Verbose] > │ let v17 : bool = v13 = false │
00:00:14 #251 [Verbose] > │ if v17 then │
00:00:14 #252 [Verbose] > │ failwith<unit> v16 │
00:00:14 #253 [Verbose] > │ method0() │
00:00:14 #254 [Verbose] > │ │
00:00:14 #255 [Verbose] > │ │
00:00:14 #256 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #257 [Verbose] > [NbConvertApp] Converting notebook optionm'.dib.ipynb to html
00:00:16 #258 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:16 #259 [Verbose] > validate(nb)
00:00:17 #260 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:17 #261 [Verbose] > return _pygments_highlight(
00:00:17 #262 [Verbose] > [NbConvertApp] Writing 291081 bytes to optionm'.dib.html
00:00:18 #263 [Debug] executeAsync / exitCode: 0 / output.Length: 14194
00:00:18 #264 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"am'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # am │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1119-1917-1bd5480a572e\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.68s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #31 [Verbose] > │ ## sum │
00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #35 [Verbose] > inl sum (a' : a _ _) =
00:00:09 #36 [Verbose] > a' |> am.fold (+) 0
00:00:10 #37 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1443-4385-4a814f0d6089\main.spi
00:00:10 #38 [Verbose] >
00:00:10 #39 [Verbose] > ╭─[ 218.30ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #40 [Verbose] > │ () │
00:00:10 #41 [Verbose] > │ │
00:00:10 #42 [Verbose] > │ │
00:00:10 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #44 [Verbose] >
00:00:10 #45 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #46 [Verbose] > // // test
00:00:10 #47 [Verbose] >
00:00:10 #48 [Verbose] > am.init 10i32 id
00:00:10 #49 [Verbose] > |> sum
00:00:10 #50 [Verbose] > |> _equal 45
00:00:10 #51 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1465-6514-6b2af8338202\main.spi
00:00:11 #52 [Verbose] >
00:00:11 #53 [Verbose] > ╭─[ 1.66s - stdout ]───────────────────────────────────────────────────────────╮
00:00:11 #54 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:11 #55 [Verbose] > │ and Mut1 = {mutable l0 : int32; mutable l1 : int32} │
00:00:11 #56 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:11 #57 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:11 #58 [Verbose] > │ let v2 : bool = v1 < 10 │
00:00:11 #59 [Verbose] > │ v2 │
00:00:11 #60 [Verbose] > │ and method2 (v0 : int32, v1 : Mut1) : bool = │
00:00:11 #61 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:11 #62 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:11 #63 [Verbose] > │ v3 │
00:00:11 #64 [Verbose] > │ and method0 () : unit = │
00:00:11 #65 [Verbose] > │ let v0 : (int32 []) = Array.zeroCreate<int32> (10) │
00:00:11 #66 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:11 #67 [Verbose] > │ while method1(v1) do │
00:00:11 #68 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:11 #69 [Verbose] > │ v0.[int v3] <- v3 │
00:00:11 #70 [Verbose] > │ let v4 : int32 = v3 + 1 │
00:00:11 #71 [Verbose] > │ v1.l0 <- v4 │
00:00:11 #72 [Verbose] > │ () │
00:00:11 #73 [Verbose] > │ let v5 : int32 = v0.Length │
00:00:11 #74 [Verbose] > │ let v6 : Mut1 = {l0 = 0; l1 = 0} : Mut1 │
00:00:11 #75 [Verbose] > │ while method2(v5, v6) do │
00:00:11 #76 [Verbose] > │ let v8 : int32 = v6.l0 │
00:00:11 #77 [Verbose] > │ let v9 : int32 = v6.l1 │
00:00:11 #78 [Verbose] > │ let v10 : int32 = v0.[int v8] │
00:00:11 #79 [Verbose] > │ let v11 : int32 = v9 + v10 │
00:00:11 #80 [Verbose] > │ let v12 : int32 = v8 + 1 │
00:00:11 #81 [Verbose] > │ v6.l0 <- v12 │
00:00:11 #82 [Verbose] > │ v6.l1 <- v11 │
00:00:11 #83 [Verbose] > │ () │
00:00:11 #84 [Verbose] > │ let v13 : int32 = v6.l1 │
00:00:11 #85 [Verbose] > │ let v14 : bool = v13 = 45 │
00:00:11 #86 [Verbose] > │ let v15 : string = $"_equal / actual: %A{v13} / expected: %A{45}" │
00:00:11 #87 [Verbose] > │ let v16 : bool = v14 = false │
00:00:11 #88 [Verbose] > │ if v16 then │
00:00:11 #89 [Verbose] > │ failwith<unit> v15 │
00:00:11 #90 [Verbose] > │ method0() │
00:00:11 #91 [Verbose] > │ │
00:00:11 #92 [Verbose] > │ │
00:00:11 #93 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #94 [Verbose] >
00:00:11 #95 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #96 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #97 [Verbose] > │ ## init_series │
00:00:11 #98 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #99 [Verbose] >
00:00:11 #100 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #101 [Verbose] > inl init_series start end inc =
00:00:11 #102 [Verbose] > inl total = conv ((end - start) / inc) + 1
00:00:11 #103 [Verbose] > am.init total (conv >> (*) inc >> (+) start) : a i32 _
00:00:12 #104 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1633-3386-3812708709ab\main.spi
00:00:12 #105 [Verbose] >
00:00:12 #106 [Verbose] > ╭─[ 229.87ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #107 [Verbose] > │ () │
00:00:12 #108 [Verbose] > │ │
00:00:12 #109 [Verbose] > │ │
00:00:12 #110 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #111 [Verbose] >
00:00:12 #112 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #113 [Verbose] > // // test
00:00:12 #114 [Verbose] >
00:00:12 #115 [Verbose] > init_series 0 1 0.5
00:00:12 #116 [Verbose] > |> _equal (a ;[[0f64; 0.5; 1]])
00:00:12 #117 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1656-5678-59c8ed1128d0\main.spi
00:00:12 #118 [Verbose] >
00:00:12 #119 [Verbose] > ╭─[ 269.77ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #120 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:12 #121 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:12 #122 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:12 #123 [Verbose] > │ let v2 : bool = v1 < 3 │
00:00:12 #124 [Verbose] > │ v2 │
00:00:12 #125 [Verbose] > │ and method2 (v0 : (float []), v1 : (float []), v2 : int32) : bool = │
00:00:12 #126 [Verbose] > │ let v3 : int32 = v0.Length │
00:00:12 #127 [Verbose] > │ let v4 : bool = v2 < v3 │
00:00:12 #128 [Verbose] > │ if v4 then │
00:00:12 #129 [Verbose] > │ let v5 : float = v0.[int v2] │
00:00:12 #130 [Verbose] > │ let v6 : float = v1.[int v2] │
00:00:12 #131 [Verbose] > │ let v7 : bool = v5 = v6 │
00:00:12 #132 [Verbose] > │ if v7 then │
00:00:12 #133 [Verbose] > │ let v8 : int32 = v2 + 1 │
00:00:12 #134 [Verbose] > │ method2(v0, v1, v8) │
00:00:12 #135 [Verbose] > │ else │
00:00:12 #136 [Verbose] > │ false │
00:00:12 #137 [Verbose] > │ else │
00:00:12 #138 [Verbose] > │ true │
00:00:12 #139 [Verbose] > │ and method0 () : unit = │
00:00:12 #140 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (3) │
00:00:12 #141 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:12 #142 [Verbose] > │ while method1(v1) do │
00:00:12 #143 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:12 #144 [Verbose] > │ let v4 : float = float v3 │
00:00:12 #145 [Verbose] > │ let v5 : float = 0.5 * v4 │
00:00:12 #146 [Verbose] > │ v0.[int v3] <- v5 │
00:00:12 #147 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:12 #148 [Verbose] > │ v1.l0 <- v6 │
00:00:12 #149 [Verbose] > │ () │
00:00:12 #150 [Verbose] > │ let v7 : (float []) = [|0.0; 0.5; 1.0|] │
00:00:12 #151 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:12 #152 [Verbose] > │ let v9 : int32 = v7.Length │
00:00:12 #153 [Verbose] > │ let v10 : bool = v8 = v9 │
00:00:12 #154 [Verbose] > │ let v11 : bool = v10 <> true │
00:00:12 #155 [Verbose] > │ let v14 : bool = │
00:00:12 #156 [Verbose] > │ if v11 then │
00:00:12 #157 [Verbose] > │ false │
00:00:12 #158 [Verbose] > │ else │
00:00:12 #159 [Verbose] > │ let v12 : int32 = 0 │
00:00:12 #160 [Verbose] > │ method2(v0, v7, v12) │
00:00:12 #161 [Verbose] > │ let v15 : string = $"_equal / actual: %A{v0} / expected: %A{v7}" │
00:00:12 #162 [Verbose] > │ let v16 : bool = v14 = false │
00:00:12 #163 [Verbose] > │ if v16 then │
00:00:12 #164 [Verbose] > │ failwith<unit> v15 │
00:00:12 #165 [Verbose] > │ method0() │
00:00:12 #166 [Verbose] > │ │
00:00:12 #167 [Verbose] > │ │
00:00:12 #168 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #169 [Verbose] >
00:00:12 #170 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #171 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #172 [Verbose] > │ ## last │
00:00:12 #173 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #174 [Verbose] >
00:00:12 #175 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #176 [Verbose] > inl last (array : a _ _) =
00:00:12 #177 [Verbose] > index array (length array - 1)
00:00:12 #178 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1685-8598-8372c07ff5fe\main.spi
00:00:12 #179 [Verbose] >
00:00:12 #180 [Verbose] > ╭─[ 175.65ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #181 [Verbose] > │ () │
00:00:12 #182 [Verbose] > │ │
00:00:12 #183 [Verbose] > │ │
00:00:12 #184 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #185 [Verbose] >
00:00:12 #186 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #187 [Verbose] > // // test
00:00:12 #188 [Verbose] >
00:00:12 #189 [Verbose] > am.init 10i32 id
00:00:12 #190 [Verbose] > |> last
00:00:12 #191 [Verbose] > |> _equal 9
00:00:12 #192 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1703-0383-05de8e5c3f24\main.spi
00:00:12 #193 [Verbose] >
00:00:12 #194 [Verbose] > ╭─[ 229.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #195 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:12 #196 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:12 #197 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:12 #198 [Verbose] > │ let v2 : bool = v1 < 10 │
00:00:12 #199 [Verbose] > │ v2 │
00:00:12 #200 [Verbose] > │ and method0 () : unit = │
00:00:12 #201 [Verbose] > │ let v0 : (int32 []) = Array.zeroCreate<int32> (10) │
00:00:12 #202 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:12 #203 [Verbose] > │ while method1(v1) do │
00:00:12 #204 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:12 #205 [Verbose] > │ v0.[int v3] <- v3 │
00:00:12 #206 [Verbose] > │ let v4 : int32 = v3 + 1 │
00:00:12 #207 [Verbose] > │ v1.l0 <- v4 │
00:00:12 #208 [Verbose] > │ () │
00:00:12 #209 [Verbose] > │ let v5 : int32 = v0.Length │
00:00:12 #210 [Verbose] > │ let v6 : int32 = v5 - 1 │
00:00:12 #211 [Verbose] > │ let v7 : int32 = v0.[int v6] │
00:00:12 #212 [Verbose] > │ let v8 : bool = v7 = 9 │
00:00:12 #213 [Verbose] > │ let v9 : string = $"_equal / actual: %A{v7} / expected: %A{9}" │
00:00:12 #214 [Verbose] > │ let v10 : bool = v8 = false │
00:00:12 #215 [Verbose] > │ if v10 then │
00:00:12 #216 [Verbose] > │ failwith<unit> v9 │
00:00:12 #217 [Verbose] > │ method0() │
00:00:12 #218 [Verbose] > │ │
00:00:12 #219 [Verbose] > │ │
00:00:12 #220 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #221 [Verbose] >
00:00:12 #222 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #223 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #224 [Verbose] > │ ## indexed │
00:00:12 #225 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #226 [Verbose] >
00:00:12 #227 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #228 [Verbose] > inl indexed (array : a _ _) =
00:00:12 #229 [Verbose] > (([[]], 0), array)
00:00:12 #230 [Verbose] > ||> am.fold fun (acc, i) x =>
00:00:12 #231 [Verbose] > (i, x) :: acc, i + 1
00:00:12 #232 [Verbose] > |> fst
00:00:12 #233 [Verbose] > |> listm.rev
00:00:12 #234 [Verbose] > |> listm.toArray
00:00:12 #235 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1728-2801-2916a5877480\main.spi
00:00:12 #236 [Verbose] >
00:00:12 #237 [Verbose] > ╭─[ 178.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #238 [Verbose] > │ () │
00:00:12 #239 [Verbose] > │ │
00:00:13 #240 [Verbose] > │ │
00:00:13 #241 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #242 [Verbose] >
00:00:13 #243 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #244 [Verbose] > // // test
00:00:13 #245 [Verbose] >
00:00:13 #246 [Verbose] > am.init 3i32 ((*) 2)
00:00:13 #247 [Verbose] > |> indexed
00:00:13 #248 [Verbose] > |> _equal (a ;[[0i32, 0; 1, 2; 2, 4]] : a i32 _)
00:00:13 #249 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-1746-4616-42d94754c5ea\main.spi
00:00:13 #250 [Verbose] >
00:00:13 #251 [Verbose] > ╭─[ 522.00ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #252 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:13 #253 [Verbose] > │ and UH0 = │
00:00:13 #254 [Verbose] > │ | UH0_0 of int32 * int32 * UH0 │
00:00:13 #255 [Verbose] > │ | UH0_1 │
00:00:13 #256 [Verbose] > │ and Mut1 = {mutable l0 : int32; mutable l1 : UH0; mutable l2 : int32} │
00:00:13 #257 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:13 #258 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:13 #259 [Verbose] > │ let v2 : bool = v1 < 3 │
00:00:13 #260 [Verbose] > │ v2 │
00:00:13 #261 [Verbose] > │ and method2 (v0 : int32, v1 : Mut1) : bool = │
00:00:13 #262 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:13 #263 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:13 #264 [Verbose] > │ v3 │
00:00:13 #265 [Verbose] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:13 #266 [Verbose] > │ match v0 with │
00:00:13 #267 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* Cons *) │
00:00:13 #268 [Verbose] > │ let v5 : UH0 = UH0_0(v2, v3, v1) │
00:00:13 #269 [Verbose] > │ method3(v4, v5) │
00:00:13 #270 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:13 #271 [Verbose] > │ v1 │
00:00:13 #272 [Verbose] > │ and method5 (v0 : UH0, v1 : int32) : int32 = │
00:00:13 #273 [Verbose] > │ match v0 with │
00:00:13 #274 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* Cons *) │
00:00:13 #275 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:13 #276 [Verbose] > │ method5(v4, v5) │
00:00:13 #277 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:13 #278 [Verbose] > │ v1 │
00:00:13 #279 [Verbose] > │ and method6 (v0 : (struct (int32 * int32) []), v1 : UH0, v2 : int32) : int32 │
00:00:13 #280 [Verbose] > │ = │
00:00:13 #281 [Verbose] > │ match v1 with │
00:00:13 #282 [Verbose] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
00:00:13 #283 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:13 #284 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:13 #285 [Verbose] > │ method6(v0, v5, v6) │
00:00:13 #286 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:13 #287 [Verbose] > │ v2 │
00:00:13 #288 [Verbose] > │ and method4 (v0 : UH0) : (struct (int32 * int32) []) = │
00:00:13 #289 [Verbose] > │ let v1 : int32 = 0 │
00:00:13 #290 [Verbose] > │ let v2 : int32 = method5(v0, v1) │
00:00:13 #291 [Verbose] > │ let v3 : (struct (int32 * int32) []) = Array.zeroCreate<struct (int32 * │
00:00:13 #292 [Verbose] > │ int32)> (v2) │
00:00:13 #293 [Verbose] > │ let v4 : int32 = 0 │
00:00:13 #294 [Verbose] > │ let v5 : int32 = method6(v3, v0, v4) │
00:00:13 #295 [Verbose] > │ v3 │
00:00:13 #296 [Verbose] > │ and method7 (v0 : (struct (int32 * int32) []), v1 : (struct (int32 * int32) │
00:00:13 #297 [Verbose] > │ []), v2 : int32) : bool = │
00:00:13 #298 [Verbose] > │ let v3 : int32 = v0.Length │
00:00:13 #299 [Verbose] > │ let v4 : bool = v2 < v3 │
00:00:13 #300 [Verbose] > │ if v4 then │
00:00:13 #301 [Verbose] > │ let struct (v5 : int32, v6 : int32) = v0.[int v2] │
00:00:13 #302 [Verbose] > │ let struct (v7 : int32, v8 : int32) = v1.[int v2] │
00:00:13 #303 [Verbose] > │ let v9 : bool = v5 = v7 │
00:00:13 #304 [Verbose] > │ let v11 : bool = │
00:00:13 #305 [Verbose] > │ if v9 then │
00:00:13 #306 [Verbose] > │ let v10 : bool = v6 = v8 │
00:00:13 #307 [Verbose] > │ v10 │
00:00:13 #308 [Verbose] > │ else │
00:00:13 #309 [Verbose] > │ false │
00:00:13 #310 [Verbose] > │ if v11 then │
00:00:13 #311 [Verbose] > │ let v12 : int32 = v2 + 1 │
00:00:13 #312 [Verbose] > │ method7(v0, v1, v12) │
00:00:13 #313 [Verbose] > │ else │
00:00:13 #314 [Verbose] > │ false │
00:00:13 #315 [Verbose] > │ else │
00:00:13 #316 [Verbose] > │ true │
00:00:13 #317 [Verbose] > │ and method0 () : unit = │
00:00:13 #318 [Verbose] > │ let v0 : (int32 []) = Array.zeroCreate<int32> (3) │
00:00:13 #319 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:13 #320 [Verbose] > │ while method1(v1) do │
00:00:13 #321 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:13 #322 [Verbose] > │ let v4 : int32 = 2 * v3 │
00:00:13 #323 [Verbose] > │ v0.[int v3] <- v4 │
00:00:13 #324 [Verbose] > │ let v5 : int32 = v3 + 1 │
00:00:13 #325 [Verbose] > │ v1.l0 <- v5 │
00:00:13 #326 [Verbose] > │ () │
00:00:13 #327 [Verbose] > │ let v6 : int32 = v0.Length │
00:00:13 #328 [Verbose] > │ let v7 : UH0 = UH0_1 │
00:00:13 #329 [Verbose] > │ let v8 : Mut1 = {l0 = 0; l1 = v7; l2 = 0} : Mut1 │
00:00:13 #330 [Verbose] > │ while method2(v6, v8) do │
00:00:13 #331 [Verbose] > │ let v10 : int32 = v8.l0 │
00:00:13 #332 [Verbose] > │ let struct (v11 : UH0, v12 : int32) = v8.l1, v8.l2 │
00:00:13 #333 [Verbose] > │ let v13 : int32 = v0.[int v10] │
00:00:13 #334 [Verbose] > │ let v14 : int32 = v12 + 1 │
00:00:13 #335 [Verbose] > │ let v15 : int32 = v10 + 1 │
00:00:13 #336 [Verbose] > │ let v16 : UH0 = UH0_0(v12, v13, v11) │
00:00:13 #337 [Verbose] > │ v8.l0 <- v15 │
00:00:13 #338 [Verbose] > │ v8.l1 <- v16 │
00:00:13 #339 [Verbose] > │ v8.l2 <- v14 │
00:00:13 #340 [Verbose] > │ () │
00:00:13 #341 [Verbose] > │ let struct (v17 : UH0, v18 : int32) = v8.l1, v8.l2 │
00:00:13 #342 [Verbose] > │ let v19 : UH0 = UH0_1 │
00:00:13 #343 [Verbose] > │ let v20 : UH0 = method3(v17, v19) │
00:00:13 #344 [Verbose] > │ let v21 : (struct (int32 * int32) []) = method4(v20) │
00:00:13 #345 [Verbose] > │ let v22 : (struct (int32 * int32) []) = [|struct (0, 0); struct (1, 2); │
00:00:13 #346 [Verbose] > │ struct (2, 4)|] │
00:00:13 #347 [Verbose] > │ let v23 : int32 = v21.Length │
00:00:13 #348 [Verbose] > │ let v24 : int32 = v22.Length │
00:00:13 #349 [Verbose] > │ let v25 : bool = v23 = v24 │
00:00:13 #350 [Verbose] > │ let v26 : bool = v25 <> true │
00:00:13 #351 [Verbose] > │ let v29 : bool = │
00:00:13 #352 [Verbose] > │ if v26 then │
00:00:13 #353 [Verbose] > │ false │
00:00:13 #354 [Verbose] > │ else │
00:00:13 #355 [Verbose] > │ let v27 : int32 = 0 │
00:00:13 #356 [Verbose] > │ method7(v21, v22, v27) │
00:00:13 #357 [Verbose] > │ let v30 : string = $"_equal / actual: %A{v21} / expected: %A{v22}" │
00:00:13 #358 [Verbose] > │ let v31 : bool = v29 = false │
00:00:13 #359 [Verbose] > │ if v31 then │
00:00:13 #360 [Verbose] > │ failwith<unit> v30 │
00:00:13 #361 [Verbose] > │ method0() │
00:00:13 #362 [Verbose] > │ │
00:00:13 #363 [Verbose] > │ │
00:00:13 #364 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #365 [Verbose] > [NbConvertApp] Converting notebook am'.dib.ipynb to html
00:00:15 #366 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:15 #367 [Verbose] > validate(nb)
00:00:16 #368 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:16 #369 [Verbose] > return _pygments_highlight(
00:00:16 #370 [Verbose] > [NbConvertApp] Writing 291617 bytes to am'.dib.html
00:00:16 #371 [Debug] executeAsync / exitCode: 0 / output.Length: 24616
00:00:16 #372 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"listm'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # listm │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-2835-3518-3288eedbe4ce\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.52s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #31 [Verbose] > │ ## /@ │
00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #35 [Verbose] > inl (/@) a b =
00:00:09 #36 [Verbose] > b |> listm.append a
00:00:09 #37 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3151-5110-516bd5460521\main.spi
00:00:09 #38 [Verbose] >
00:00:09 #39 [Verbose] > ╭─[ 241.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #40 [Verbose] > │ () │
00:00:09 #41 [Verbose] > │ │
00:00:09 #42 [Verbose] > │ │
00:00:09 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #44 [Verbose] >
00:00:09 #45 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #46 [Verbose] > // // test
00:00:09 #47 [Verbose] >
00:00:09 #48 [Verbose] > [[ "a"; "b" ]] /@ [[ "c"; "d" ]]
00:00:09 #49 [Verbose] > |> _equal [[ "a"; "b"; "c"; "d" ]]
00:00:09 #50 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3175-7510-74bf89299f26\main.spi
00:00:11 #51 [Verbose] >
00:00:11 #52 [Verbose] > ╭─[ 1.32s - stdout ]───────────────────────────────────────────────────────────╮
00:00:11 #53 [Verbose] > │ type UH0 = │
00:00:11 #54 [Verbose] > │ | UH0_0 of string * UH0 │
00:00:11 #55 [Verbose] > │ | UH0_1 │
00:00:11 #56 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #57 [Verbose] > │ let v43 : string = "a" │
00:00:11 #58 [Verbose] > │ let v44 : string = "b" │
00:00:11 #59 [Verbose] > │ let v45 : string = "c" │
00:00:11 #60 [Verbose] > │ let v46 : string = "d" │
00:00:11 #61 [Verbose] > │ let v47 : UH0 = UH0_1 │
00:00:11 #62 [Verbose] > │ let v48 : UH0 = UH0_0(v46, v47) │
00:00:11 #63 [Verbose] > │ let v49 : UH0 = UH0_0(v45, v48) │
00:00:11 #64 [Verbose] > │ let v50 : UH0 = UH0_0(v44, v49) │
00:00:11 #65 [Verbose] > │ let v51 : UH0 = UH0_0(v43, v50) │
00:00:11 #66 [Verbose] > │ let v52 : UH0 = UH0_1 │
00:00:11 #67 [Verbose] > │ let v53 : UH0 = UH0_0(v46, v52) │
00:00:11 #68 [Verbose] > │ let v54 : UH0 = UH0_0(v45, v53) │
00:00:11 #69 [Verbose] > │ let v55 : UH0 = UH0_0(v44, v54) │
00:00:11 #70 [Verbose] > │ let v56 : UH0 = UH0_0(v43, v55) │
00:00:11 #71 [Verbose] > │ let v57 : string = $"_equal / actual: %A{v51} / expected: %A{v56}" │
00:00:11 #72 [Verbose] > │ () │
00:00:11 #73 [Verbose] > │ method0() │
00:00:11 #74 [Verbose] > │ │
00:00:11 #75 [Verbose] > │ │
00:00:11 #76 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #77 [Verbose] >
00:00:11 #78 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #79 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #80 [Verbose] > │ ## init_series │
00:00:11 #81 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #82 [Verbose] >
00:00:11 #83 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #84 [Verbose] > inl init_series start end inc =
00:00:11 #85 [Verbose] > inl total : f64 = conv ((end - start) / inc) + 1
00:00:11 #86 [Verbose] > listm.init total (conv >> (*) inc >> (+) start)
00:00:11 #87 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3308-0879-0fece32faf48\main.spi
00:00:11 #88 [Verbose] >
00:00:11 #89 [Verbose] > ╭─[ 271.43ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #90 [Verbose] > │ () │
00:00:11 #91 [Verbose] > │ │
00:00:11 #92 [Verbose] > │ │
00:00:11 #93 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #94 [Verbose] >
00:00:11 #95 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #96 [Verbose] > // // test
00:00:11 #97 [Verbose] >
00:00:11 #98 [Verbose] > init_series 0 1 0.5
00:00:11 #99 [Verbose] > |> _equal [[ 0f64; 0.5; 1 ]]
00:00:11 #100 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3336-3665-39116f672e8c\main.spi
00:00:11 #101 [Verbose] >
00:00:11 #102 [Verbose] > ╭─[ 224.98ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #103 [Verbose] > │ type UH0 = │
00:00:11 #104 [Verbose] > │ | UH0_0 of float * UH0 │
00:00:11 #105 [Verbose] > │ | UH0_1 │
00:00:11 #106 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #107 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:11 #108 [Verbose] > │ let v19 : UH0 = UH0_0(1.0, v18) │
00:00:11 #109 [Verbose] > │ let v20 : UH0 = UH0_0(0.5, v19) │
00:00:11 #110 [Verbose] > │ let v21 : UH0 = UH0_0(0.0, v20) │
00:00:11 #111 [Verbose] > │ let v22 : UH0 = UH0_1 │
00:00:11 #112 [Verbose] > │ let v23 : UH0 = UH0_0(1.0, v22) │
00:00:11 #113 [Verbose] > │ let v24 : UH0 = UH0_0(0.5, v23) │
00:00:11 #114 [Verbose] > │ let v25 : UH0 = UH0_0(0.0, v24) │
00:00:11 #115 [Verbose] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
00:00:11 #116 [Verbose] > │ () │
00:00:11 #117 [Verbose] > │ method0() │
00:00:11 #118 [Verbose] > │ │
00:00:11 #119 [Verbose] > │ │
00:00:11 #120 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #121 [Verbose] >
00:00:11 #122 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #123 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #124 [Verbose] > │ ## try_item │
00:00:11 #125 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #126 [Verbose] >
00:00:11 #127 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #128 [Verbose] > inl rec try_item i = function
00:00:11 #129 [Verbose] > | Cons (x, _) when i = 0 => Some x
00:00:11 #130 [Verbose] > | Cons (_, xs) => try_item (i - 1) xs
00:00:11 #131 [Verbose] > | Nil => None
00:00:11 #132 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3359-5977-58e6d3700250\main.spi
00:00:11 #133 [Verbose] >
00:00:11 #134 [Verbose] > ╭─[ 179.31ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #135 [Verbose] > │ () │
00:00:11 #136 [Verbose] > │ │
00:00:11 #137 [Verbose] > │ │
00:00:11 #138 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #139 [Verbose] >
00:00:11 #140 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #141 [Verbose] > // // test
00:00:11 #142 [Verbose] >
00:00:11 #143 [Verbose] > listm.init 10i32 id
00:00:11 #144 [Verbose] > |> try_item 9i32
00:00:11 #145 [Verbose] > |> _equal (Some 9)
00:00:11 #146 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3377-7789-7639e4e8ba35\main.spi
00:00:12 #147 [Verbose] >
00:00:12 #148 [Verbose] > ╭─[ 303.15ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #149 [Verbose] > │ type [<Struct>] US0 = │
00:00:12 #150 [Verbose] > │ | US0_0 │
00:00:12 #151 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:12 #152 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #153 [Verbose] > │ let v3 : US0 = US0_1(9) │
00:00:12 #154 [Verbose] > │ let v4 : US0 = US0_1(9) │
00:00:12 #155 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:12 #156 [Verbose] > │ () │
00:00:12 #157 [Verbose] > │ method0() │
00:00:12 #158 [Verbose] > │ │
00:00:12 #159 [Verbose] > │ │
00:00:12 #160 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #161 [Verbose] >
00:00:12 #162 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #163 [Verbose] > // // test
00:00:12 #164 [Verbose] >
00:00:12 #165 [Verbose] > listm.init 10i32 id
00:00:12 #166 [Verbose] > |> try_item 10i32
00:00:12 #167 [Verbose] > |> _equal None
00:00:12 #168 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3408-0886-00b71943597f\main.spi
00:00:12 #169 [Verbose] >
00:00:12 #170 [Verbose] > ╭─[ 232.88ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #171 [Verbose] > │ type [<Struct>] US0 = │
00:00:12 #172 [Verbose] > │ | US0_0 │
00:00:12 #173 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:12 #174 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #175 [Verbose] > │ let v3 : US0 = US0_0 │
00:00:12 #176 [Verbose] > │ let v4 : US0 = US0_0 │
00:00:12 #177 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:12 #178 [Verbose] > │ () │
00:00:12 #179 [Verbose] > │ method0() │
00:00:12 #180 [Verbose] > │ │
00:00:12 #181 [Verbose] > │ │
00:00:12 #182 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #183 [Verbose] >
00:00:12 #184 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #185 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #186 [Verbose] > │ ## list_item │
00:00:12 #187 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #188 [Verbose] >
00:00:12 #189 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #190 [Verbose] > inl item i =
00:00:12 #191 [Verbose] > try_item i >> optionm.value
00:00:12 #192 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3432-3297-362a0f0938d9\main.spi
00:00:12 #193 [Verbose] >
00:00:12 #194 [Verbose] > ╭─[ 198.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #195 [Verbose] > │ () │
00:00:12 #196 [Verbose] > │ │
00:00:12 #197 [Verbose] > │ │
00:00:12 #198 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #199 [Verbose] >
00:00:12 #200 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #201 [Verbose] > // // test
00:00:12 #202 [Verbose] >
00:00:12 #203 [Verbose] > listm.init 10i32 id
00:00:12 #204 [Verbose] > |> item 9i32
00:00:12 #205 [Verbose] > |> _equal 9
00:00:12 #206 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3453-5312-566617860236\main.spi
00:00:12 #207 [Verbose] >
00:00:12 #208 [Verbose] > ╭─[ 200.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #209 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #210 [Verbose] > │ let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}" │
00:00:12 #211 [Verbose] > │ () │
00:00:12 #212 [Verbose] > │ method0() │
00:00:12 #213 [Verbose] > │ │
00:00:12 #214 [Verbose] > │ │
00:00:12 #215 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #216 [Verbose] >
00:00:12 #217 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #218 [Verbose] > // // test
00:00:12 #219 [Verbose] >
00:00:12 #220 [Verbose] > fun () =>
00:00:12 #221 [Verbose] > listm.init 10i32 id
00:00:12 #222 [Verbose] > |> item 10i32
00:00:12 #223 [Verbose] > |> ignore
00:00:12 #224 [Verbose] > |> _throws
00:00:12 #225 [Verbose] > |> _equal (Some "Option does not have a value.")
00:00:12 #226 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3473-7355-71d46462b600\main.spi
00:00:13 #227 [Verbose] >
00:00:13 #228 [Verbose] > ╭─[ 362.77ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #229 [Verbose] > │ type [<Struct>] US0 = │
00:00:13 #230 [Verbose] > │ | US0_0 │
00:00:13 #231 [Verbose] > │ | US0_1 of f1_0 : string │
00:00:13 #232 [Verbose] > │ let rec closure0 () () : unit = │
00:00:13 #233 [Verbose] > │ let v0 : int32 = failwith<int32> "Option does not have a value." │
00:00:13 #234 [Verbose] > │ () │
00:00:13 #235 [Verbose] > │ and closure1 () (v0 : string) : US0 = │
00:00:13 #236 [Verbose] > │ US0_1(v0) │
00:00:13 #237 [Verbose] > │ and method0 () : unit = │
00:00:13 #238 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:13 #239 [Verbose] > │ let v1 : US0 = US0_0 │
00:00:13 #240 [Verbose] > │ let v2 : (string -> US0) = closure1() │
00:00:13 #241 [Verbose] > │ let v3 : US0 = try v0 (); v1 with ex -> v2 ex.Message │
00:00:13 #242 [Verbose] > │ let v8 : bool = │
00:00:13 #243 [Verbose] > │ match v3 with │
00:00:13 #244 [Verbose] > │ | US0_1(v6) -> (* Some *) │
00:00:13 #245 [Verbose] > │ let v7 : bool = v6 = "Option does not have a value." │
00:00:13 #246 [Verbose] > │ v7 │
00:00:13 #247 [Verbose] > │ | _ -> │
00:00:13 #248 [Verbose] > │ false │
00:00:13 #249 [Verbose] > │ let v9 : string = "Option does not have a value." │
00:00:13 #250 [Verbose] > │ let v10 : US0 = US0_1(v9) │
00:00:13 #251 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v3} / expected: %A{v10}" │
00:00:13 #252 [Verbose] > │ let v12 : bool = v8 = false │
00:00:13 #253 [Verbose] > │ if v12 then │
00:00:13 #254 [Verbose] > │ failwith<unit> v11 │
00:00:13 #255 [Verbose] > │ method0() │
00:00:13 #256 [Verbose] > │ │
00:00:13 #257 [Verbose] > │ │
00:00:13 #258 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #259 [Verbose] >
00:00:13 #260 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #261 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #262 [Verbose] > │ ## try_item_ │
00:00:13 #263 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #264 [Verbose] >
00:00:13 #265 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #266 [Verbose] > let rec try_item_ i = function
00:00:13 #267 [Verbose] > | Cons (x, _) when i = 0 => Some x
00:00:13 #268 [Verbose] > | Cons (_, xs) => try_item_ (i - 1) xs
00:00:13 #269 [Verbose] > | Nil => None
00:00:13 #270 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3511-1125-1a74a1d1318d\main.spi
00:00:13 #271 [Verbose] >
00:00:13 #272 [Verbose] > ╭─[ 182.22ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #273 [Verbose] > │ () │
00:00:13 #274 [Verbose] > │ │
00:00:13 #275 [Verbose] > │ │
00:00:13 #276 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #277 [Verbose] >
00:00:13 #278 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #279 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #280 [Verbose] > │ ## item_ │
00:00:13 #281 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #282 [Verbose] >
00:00:13 #283 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #284 [Verbose] > inl item_ i =
00:00:13 #285 [Verbose] > try_item_ i >> optionm.value
00:00:13 #286 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3529-2998-279ee5aa7ace\main.spi
00:00:13 #287 [Verbose] >
00:00:13 #288 [Verbose] > ╭─[ 168.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #289 [Verbose] > │ () │
00:00:13 #290 [Verbose] > │ │
00:00:13 #291 [Verbose] > │ │
00:00:13 #292 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #293 [Verbose] >
00:00:13 #294 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #295 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #296 [Verbose] > │ ## sum │
00:00:13 #297 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #298 [Verbose] >
00:00:13 #299 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #300 [Verbose] > inl sum list =
00:00:13 #301 [Verbose] > list |> listm.fold (+) 0
00:00:13 #302 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3547-4736-4c6f26d9c6dc\main.spi
00:00:13 #303 [Verbose] >
00:00:13 #304 [Verbose] > ╭─[ 202.28ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #305 [Verbose] > │ () │
00:00:13 #306 [Verbose] > │ │
00:00:13 #307 [Verbose] > │ │
00:00:13 #308 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #309 [Verbose] >
00:00:13 #310 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #311 [Verbose] > // // test
00:00:13 #312 [Verbose] >
00:00:13 #313 [Verbose] > listm.init 10i32 id
00:00:13 #314 [Verbose] > |> sum
00:00:13 #315 [Verbose] > |> _equal 45
00:00:13 #316 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3567-6776-684718bf2812\main.spi
00:00:13 #317 [Verbose] >
00:00:13 #318 [Verbose] > ╭─[ 190.00ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #319 [Verbose] > │ let rec method0 () : unit = │
00:00:13 #320 [Verbose] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:13 #321 [Verbose] > │ () │
00:00:13 #322 [Verbose] > │ method0() │
00:00:13 #323 [Verbose] > │ │
00:00:13 #324 [Verbose] > │ │
00:00:13 #325 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #326 [Verbose] >
00:00:13 #327 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #328 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #329 [Verbose] > │ ## unzip │
00:00:13 #330 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #331 [Verbose] >
00:00:13 #332 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #333 [Verbose] > inl unzip list =
00:00:13 #334 [Verbose] > (([[]], [[]]), list)
00:00:13 #335 [Verbose] > ||> listm.fold fun (acc_x, acc_y) (x, y) =>
00:00:13 #336 [Verbose] > x :: acc_x, y :: acc_y
00:00:13 #337 [Verbose] > |> fun x, y =>
00:00:13 #338 [Verbose] > x |> listm.rev, y |> listm.rev
00:00:13 #339 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3587-8732-81c49ba4393f\main.spi
00:00:14 #340 [Verbose] >
00:00:14 #341 [Verbose] > ╭─[ 196.47ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #342 [Verbose] > │ () │
00:00:14 #343 [Verbose] > │ │
00:00:14 #344 [Verbose] > │ │
00:00:14 #345 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #346 [Verbose] >
00:00:14 #347 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #348 [Verbose] > // // test
00:00:14 #349 [Verbose] >
00:00:14 #350 [Verbose] > listm.init 10i32 id
00:00:14 #351 [Verbose] > |> listm.map (fun x => x, x)
00:00:14 #352 [Verbose] > |> unzip
00:00:14 #353 [Verbose] > |> fun x, y =>
00:00:14 #354 [Verbose] > x |> sum
00:00:14 #355 [Verbose] > |> _equal 45
00:00:14 #356 [Verbose] >
00:00:14 #357 [Verbose] > y |> sum
00:00:14 #358 [Verbose] > |> _equal 45
00:00:14 #359 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3607-0772-09cd8793cae0\main.spi
00:00:14 #360 [Verbose] >
00:00:14 #361 [Verbose] > ╭─[ 177.48ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #362 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #363 [Verbose] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:14 #364 [Verbose] > │ let v1 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:14 #365 [Verbose] > │ () │
00:00:14 #366 [Verbose] > │ method0() │
00:00:14 #367 [Verbose] > │ │
00:00:14 #368 [Verbose] > │ │
00:00:14 #369 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #370 [Verbose] >
00:00:14 #371 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #372 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #373 [Verbose] > │ ## try_index_of │
00:00:14 #374 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #375 [Verbose] >
00:00:14 #376 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #377 [Verbose] > inl try_index_of item list =
00:00:14 #378 [Verbose] > inl rec loop i = function
00:00:14 #379 [Verbose] > | [[]] => None
00:00:14 #380 [Verbose] > | x :: xs =>
00:00:14 #381 [Verbose] > if x = item
00:00:14 #382 [Verbose] > then Some i
00:00:14 #383 [Verbose] > else loop (i + 1) xs
00:00:14 #384 [Verbose] > loop 0 list
00:00:14 #385 [Verbose] >
00:00:14 #386 [Verbose] > inl index_of item =
00:00:14 #387 [Verbose] > try_index_of item >> optionm.value
00:00:14 #388 [Verbose] >
00:00:14 #389 [Verbose] > inl try_index_of_ item list =
00:00:14 #390 [Verbose] > let rec loop i = function
00:00:14 #391 [Verbose] > | [[]] => None
00:00:14 #392 [Verbose] > | x :: xs =>
00:00:14 #393 [Verbose] > if x = item
00:00:14 #394 [Verbose] > then Some i
00:00:14 #395 [Verbose] > else loop (i + 1) xs
00:00:14 #396 [Verbose] > loop 0 list
00:00:14 #397 [Verbose] >
00:00:14 #398 [Verbose] > inl index_of_ item =
00:00:14 #399 [Verbose] > try_index_of_ item >> optionm.value
00:00:14 #400 [Verbose] >
00:00:14 #401 [Verbose] > inl try_index_of__ item list =
00:00:14 #402 [Verbose] > inl i = mut 0
00:00:14 #403 [Verbose] > inl list = mut list
00:00:14 #404 [Verbose] > inl result = mut None
00:00:14 #405 [Verbose] > let rec loop () =
00:00:14 #406 [Verbose] > match *list with
00:00:14 #407 [Verbose] > | [[]] => result <- None
00:00:14 #408 [Verbose] > | x :: xs =>
00:00:14 #409 [Verbose] > if x = item
00:00:14 #410 [Verbose] > then result <- Some *i
00:00:14 #411 [Verbose] > else
00:00:14 #412 [Verbose] > i <- *i + 1
00:00:14 #413 [Verbose] > list <- xs
00:00:14 #414 [Verbose] > loop ()
00:00:14 #415 [Verbose] > loop ()
00:00:14 #416 [Verbose] > *result
00:00:14 #417 [Verbose] >
00:00:14 #418 [Verbose] > inl index_of__ item =
00:00:14 #419 [Verbose] > try_index_of__ item >> optionm.value
00:00:14 #420 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3625-2568-25398b52a599\main.spi
00:00:14 #421 [Verbose] >
00:00:14 #422 [Verbose] > ╭─[ 195.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #423 [Verbose] > │ () │
00:00:14 #424 [Verbose] > │ │
00:00:14 #425 [Verbose] > │ │
00:00:14 #426 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #427 [Verbose] >
00:00:14 #428 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #429 [Verbose] > // // test
00:00:14 #430 [Verbose] >
00:00:14 #431 [Verbose] > listm.init 10i32 id
00:00:14 #432 [Verbose] > |> index_of 5i32
00:00:14 #433 [Verbose] > |> _equal 5i32
00:00:14 #434 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3645-4541-49ad79deb2d4\main.spi
00:00:14 #435 [Verbose] >
00:00:14 #436 [Verbose] > ╭─[ 176.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #437 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #438 [Verbose] > │ let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}" │
00:00:14 #439 [Verbose] > │ () │
00:00:14 #440 [Verbose] > │ method0() │
00:00:14 #441 [Verbose] > │ │
00:00:14 #442 [Verbose] > │ │
00:00:14 #443 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #444 [Verbose] >
00:00:14 #445 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #446 [Verbose] > // // test
00:00:14 #447 [Verbose] >
00:00:14 #448 [Verbose] > listm.init 10i32 id
00:00:14 #449 [Verbose] > |> try_index_of 10i32
00:00:14 #450 [Verbose] > |> _equal (None : option i32)
00:00:14 #451 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3663-6383-60192169ef35\main.spi
00:00:14 #452 [Verbose] >
00:00:14 #453 [Verbose] > ╭─[ 296.37ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #454 [Verbose] > │ type [<Struct>] US0 = │
00:00:14 #455 [Verbose] > │ | US0_0 │
00:00:14 #456 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:14 #457 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #458 [Verbose] > │ let v3 : US0 = US0_0 │
00:00:14 #459 [Verbose] > │ let v4 : US0 = US0_0 │
00:00:14 #460 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:14 #461 [Verbose] > │ () │
00:00:14 #462 [Verbose] > │ method0() │
00:00:14 #463 [Verbose] > │ │
00:00:14 #464 [Verbose] > │ │
00:00:14 #465 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #466 [Verbose] >
00:00:14 #467 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #468 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #469 [Verbose] > │ ## try_find │
00:00:14 #470 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #471 [Verbose] >
00:00:14 #472 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #473 [Verbose] > inl try_find fn list =
00:00:14 #474 [Verbose] > inl rec loop = function
00:00:14 #475 [Verbose] > | [[]] => None
00:00:14 #476 [Verbose] > | x :: xs =>
00:00:14 #477 [Verbose] > if fn x
00:00:14 #478 [Verbose] > then Some x
00:00:14 #479 [Verbose] > else loop xs
00:00:14 #480 [Verbose] > loop list
00:00:14 #481 [Verbose] >
00:00:14 #482 [Verbose] > inl try_find_ fn list =
00:00:14 #483 [Verbose] > let rec loop = function
00:00:14 #484 [Verbose] > | [[]] => None
00:00:14 #485 [Verbose] > | x :: xs =>
00:00:14 #486 [Verbose] > if fn x
00:00:14 #487 [Verbose] > then Some x
00:00:14 #488 [Verbose] > else loop xs
00:00:14 #489 [Verbose] > loop list
00:00:15 #490 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3694-9412-9fffce923545\main.spi
00:00:15 #491 [Verbose] >
00:00:15 #492 [Verbose] > ╭─[ 209.31ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #493 [Verbose] > │ () │
00:00:15 #494 [Verbose] > │ │
00:00:15 #495 [Verbose] > │ │
00:00:15 #496 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #497 [Verbose] >
00:00:15 #498 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #499 [Verbose] > // // test
00:00:15 #500 [Verbose] >
00:00:15 #501 [Verbose] > listm.init 10i32 id
00:00:15 #502 [Verbose] > |> try_find ((=) 5i32)
00:00:15 #503 [Verbose] > |> _equal (Some 5i32)
00:00:15 #504 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3715-1508-1dd42b69a4cd\main.spi
00:00:15 #505 [Verbose] >
00:00:15 #506 [Verbose] > ╭─[ 189.12ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #507 [Verbose] > │ type [<Struct>] US0 = │
00:00:15 #508 [Verbose] > │ | US0_0 │
00:00:15 #509 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:15 #510 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #511 [Verbose] > │ let v3 : US0 = US0_1(5) │
00:00:15 #512 [Verbose] > │ let v4 : US0 = US0_1(5) │
00:00:15 #513 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:15 #514 [Verbose] > │ () │
00:00:15 #515 [Verbose] > │ method0() │
00:00:15 #516 [Verbose] > │ │
00:00:15 #517 [Verbose] > │ │
00:00:15 #518 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #519 [Verbose] >
00:00:15 #520 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #521 [Verbose] > inl find x =
00:00:15 #522 [Verbose] > try_find x >> optionm.value
00:00:15 #523 [Verbose] >
00:00:15 #524 [Verbose] > inl find_ x =
00:00:15 #525 [Verbose] > try_find_ x >> optionm.value
00:00:15 #526 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3734-3492-35e631ba780b\main.spi
00:00:15 #527 [Verbose] >
00:00:15 #528 [Verbose] > ╭─[ 193.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #529 [Verbose] > │ () │
00:00:15 #530 [Verbose] > │ │
00:00:15 #531 [Verbose] > │ │
00:00:15 #532 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #533 [Verbose] >
00:00:15 #534 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #535 [Verbose] > // // test
00:00:15 #536 [Verbose] >
00:00:15 #537 [Verbose] > listm.init 10i32 id
00:00:15 #538 [Verbose] > |> find ((=) 5i32)
00:00:15 #539 [Verbose] > |> _equal 5i32
00:00:15 #540 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3754-5427-5753ee21d4b2\main.spi
00:00:15 #541 [Verbose] >
00:00:15 #542 [Verbose] > ╭─[ 170.82ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #543 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #544 [Verbose] > │ let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}" │
00:00:15 #545 [Verbose] > │ () │
00:00:15 #546 [Verbose] > │ method0() │
00:00:15 #547 [Verbose] > │ │
00:00:15 #548 [Verbose] > │ │
00:00:15 #549 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #550 [Verbose] >
00:00:15 #551 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 #552 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 #553 [Verbose] > │ ## choose │
00:00:15 #554 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #555 [Verbose] >
00:00:15 #556 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #557 [Verbose] > inl choose f l =
00:00:15 #558 [Verbose] > (l, [[]])
00:00:15 #559 [Verbose] > ||> listm.foldBack fun x acc =>
00:00:15 #560 [Verbose] > match f x with
00:00:15 #561 [Verbose] > | Some y => y :: acc
00:00:15 #562 [Verbose] > | None => acc
00:00:15 #563 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3773-7385-738097384887\main.spi
00:00:15 #564 [Verbose] >
00:00:15 #565 [Verbose] > ╭─[ 172.54ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #566 [Verbose] > │ () │
00:00:15 #567 [Verbose] > │ │
00:00:15 #568 [Verbose] > │ │
00:00:15 #569 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #570 [Verbose] >
00:00:15 #571 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #572 [Verbose] > // // test
00:00:15 #573 [Verbose] >
00:00:15 #574 [Verbose] > listm.init 10i32 id
00:00:15 #575 [Verbose] > |> choose (fun x => if x % 2 = 0 then Some x else None)
00:00:15 #576 [Verbose] > |> _equal [[ 0; 2; 4; 6; 8 ]]
00:00:15 #577 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3790-9059-960c993b3e89\main.spi
00:00:16 #578 [Verbose] >
00:00:16 #579 [Verbose] > ╭─[ 186.20ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #580 [Verbose] > │ type UH0 = │
00:00:16 #581 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:16 #582 [Verbose] > │ | UH0_1 │
00:00:16 #583 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #584 [Verbose] > │ let v33 : UH0 = UH0_1 │
00:00:16 #585 [Verbose] > │ let v34 : UH0 = UH0_0(8, v33) │
00:00:16 #586 [Verbose] > │ let v35 : UH0 = UH0_0(6, v34) │
00:00:16 #587 [Verbose] > │ let v36 : UH0 = UH0_0(4, v35) │
00:00:16 #588 [Verbose] > │ let v37 : UH0 = UH0_0(2, v36) │
00:00:16 #589 [Verbose] > │ let v38 : UH0 = UH0_0(0, v37) │
00:00:16 #590 [Verbose] > │ let v39 : UH0 = UH0_1 │
00:00:16 #591 [Verbose] > │ let v40 : UH0 = UH0_0(8, v39) │
00:00:16 #592 [Verbose] > │ let v41 : UH0 = UH0_0(6, v40) │
00:00:16 #593 [Verbose] > │ let v42 : UH0 = UH0_0(4, v41) │
00:00:16 #594 [Verbose] > │ let v43 : UH0 = UH0_0(2, v42) │
00:00:16 #595 [Verbose] > │ let v44 : UH0 = UH0_0(0, v43) │
00:00:16 #596 [Verbose] > │ let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}" │
00:00:16 #597 [Verbose] > │ () │
00:00:16 #598 [Verbose] > │ method0() │
00:00:16 #599 [Verbose] > │ │
00:00:16 #600 [Verbose] > │ │
00:00:16 #601 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #602 [Verbose] >
00:00:16 #603 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #604 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #605 [Verbose] > │ ## zip_with │
00:00:16 #606 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #607 [Verbose] >
00:00:16 #608 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #609 [Verbose] > inl zip_with fn xs ys =
00:00:16 #610 [Verbose] > inl rec loop acc xs ys =
00:00:16 #611 [Verbose] > match xs, ys with
00:00:16 #612 [Verbose] > | Cons (x, xs), Cons (y, ys) =>
00:00:16 #613 [Verbose] > loop (fn x y :: acc) xs ys
00:00:16 #614 [Verbose] > | _ => listm.rev acc
00:00:16 #615 [Verbose] > loop [[]] xs ys
00:00:16 #616 [Verbose] >
00:00:16 #617 [Verbose] > inl zip_with_ fn xs ys =
00:00:16 #618 [Verbose] > let rec loop acc xs ys =
00:00:16 #619 [Verbose] > match xs, ys with
00:00:16 #620 [Verbose] > | Cons (x, xs), Cons (y, ys) =>
00:00:16 #621 [Verbose] > loop (fn x y :: acc) xs ys
00:00:16 #622 [Verbose] > | _ => listm.rev acc
00:00:16 #623 [Verbose] > loop [[]] xs ys
00:00:16 #624 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3810-1043-15c9a30787b2\main.spi
00:00:16 #625 [Verbose] >
00:00:16 #626 [Verbose] > ╭─[ 172.44ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #627 [Verbose] > │ () │
00:00:16 #628 [Verbose] > │ │
00:00:16 #629 [Verbose] > │ │
00:00:16 #630 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #631 [Verbose] >
00:00:16 #632 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #633 [Verbose] > // // test
00:00:16 #634 [Verbose] >
00:00:16 #635 [Verbose] > ([[ 1i32; 2; 3 ]], [[ 4; 5; 6 ]])
00:00:16 #636 [Verbose] > ||> zip_with (+)
00:00:16 #637 [Verbose] > |> _equal [[ 5; 7; 9 ]]
00:00:16 #638 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3827-2783-2a97bb8dc2d8\main.spi
00:00:16 #639 [Verbose] >
00:00:16 #640 [Verbose] > ╭─[ 231.17ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #641 [Verbose] > │ type UH0 = │
00:00:16 #642 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:16 #643 [Verbose] > │ | UH0_1 │
00:00:16 #644 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #645 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:16 #646 [Verbose] > │ let v19 : UH0 = UH0_0(9, v18) │
00:00:16 #647 [Verbose] > │ let v20 : UH0 = UH0_0(7, v19) │
00:00:16 #648 [Verbose] > │ let v21 : UH0 = UH0_0(5, v20) │
00:00:16 #649 [Verbose] > │ let v22 : UH0 = UH0_1 │
00:00:16 #650 [Verbose] > │ let v23 : UH0 = UH0_0(9, v22) │
00:00:16 #651 [Verbose] > │ let v24 : UH0 = UH0_0(7, v23) │
00:00:16 #652 [Verbose] > │ let v25 : UH0 = UH0_0(5, v24) │
00:00:16 #653 [Verbose] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
00:00:16 #654 [Verbose] > │ () │
00:00:16 #655 [Verbose] > │ method0() │
00:00:16 #656 [Verbose] > │ │
00:00:16 #657 [Verbose] > │ │
00:00:16 #658 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #659 [Verbose] >
00:00:16 #660 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #661 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #662 [Verbose] > │ ## zip │
00:00:16 #663 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #664 [Verbose] >
00:00:16 #665 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #666 [Verbose] > inl zip xs ys =
00:00:16 #667 [Verbose] > zip_with pair xs ys
00:00:16 #668 [Verbose] >
00:00:16 #669 [Verbose] > inl zip_ xs ys =
00:00:16 #670 [Verbose] > zip_with_ pair xs ys
00:00:16 #671 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3852-5270-5524adf3abbe\main.spi
00:00:16 #672 [Verbose] >
00:00:16 #673 [Verbose] > ╭─[ 176.70ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #674 [Verbose] > │ () │
00:00:16 #675 [Verbose] > │ │
00:00:16 #676 [Verbose] > │ │
00:00:16 #677 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #678 [Verbose] >
00:00:16 #679 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #680 [Verbose] > // // test
00:00:16 #681 [Verbose] >
00:00:16 #682 [Verbose] > ([[ 1i32; 2; 3 ]], [[ 4i32; 5; 6 ]])
00:00:16 #683 [Verbose] > ||> zip
00:00:16 #684 [Verbose] > |> _equal [[ 1, 4; 2, 5; 3, 6 ]]
00:00:16 #685 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3870-7054-79208025abb7\main.spi
00:00:16 #686 [Verbose] >
00:00:16 #687 [Verbose] > ╭─[ 243.08ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #688 [Verbose] > │ type UH0 = │
00:00:16 #689 [Verbose] > │ | UH0_0 of int32 * int32 * UH0 │
00:00:16 #690 [Verbose] > │ | UH0_1 │
00:00:16 #691 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #692 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:16 #693 [Verbose] > │ let v19 : UH0 = UH0_0(3, 6, v18) │
00:00:16 #694 [Verbose] > │ let v20 : UH0 = UH0_0(2, 5, v19) │
00:00:16 #695 [Verbose] > │ let v21 : UH0 = UH0_0(1, 4, v20) │
00:00:16 #696 [Verbose] > │ let v22 : UH0 = UH0_1 │
00:00:16 #697 [Verbose] > │ let v23 : UH0 = UH0_0(3, 6, v22) │
00:00:16 #698 [Verbose] > │ let v24 : UH0 = UH0_0(2, 5, v23) │
00:00:16 #699 [Verbose] > │ let v25 : UH0 = UH0_0(1, 4, v24) │
00:00:16 #700 [Verbose] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
00:00:16 #701 [Verbose] > │ () │
00:00:16 #702 [Verbose] > │ method0() │
00:00:16 #703 [Verbose] > │ │
00:00:16 #704 [Verbose] > │ │
00:00:16 #705 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #706 [Verbose] >
00:00:16 #707 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #708 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #709 [Verbose] > │ ## indexed │
00:00:16 #710 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #711 [Verbose] >
00:00:16 #712 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #713 [Verbose] > inl indexed list =
00:00:16 #714 [Verbose] > (([[]], 0), list)
00:00:16 #715 [Verbose] > ||> listm.fold fun (acc, i) x =>
00:00:16 #716 [Verbose] > (i, x) :: acc, i + 1
00:00:16 #717 [Verbose] > |> fst
00:00:16 #718 [Verbose] > |> listm.rev
00:00:17 #719 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3896-9610-9be3c8008304\main.spi
00:00:17 #720 [Verbose] >
00:00:17 #721 [Verbose] > ╭─[ 199.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #722 [Verbose] > │ () │
00:00:17 #723 [Verbose] > │ │
00:00:17 #724 [Verbose] > │ │
00:00:17 #725 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #726 [Verbose] >
00:00:17 #727 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #728 [Verbose] > // // test
00:00:17 #729 [Verbose] >
00:00:17 #730 [Verbose] > listm.init 5i32 ((*) 2)
00:00:17 #731 [Verbose] > |> indexed
00:00:17 #732 [Verbose] > |> _equal [[ 0i32, 0; 1, 2; 2, 4; 3, 6; 4, 8 ]]
00:00:17 #733 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3916-1622-19c930b73552\main.spi
00:00:17 #734 [Verbose] >
00:00:17 #735 [Verbose] > ╭─[ 267.85ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #736 [Verbose] > │ type UH0 = │
00:00:17 #737 [Verbose] > │ | UH0_0 of int32 * int32 * UH0 │
00:00:17 #738 [Verbose] > │ | UH0_1 │
00:00:17 #739 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #740 [Verbose] > │ let v33 : UH0 = UH0_1 │
00:00:17 #741 [Verbose] > │ let v34 : UH0 = UH0_0(4, 8, v33) │
00:00:17 #742 [Verbose] > │ let v35 : UH0 = UH0_0(3, 6, v34) │
00:00:17 #743 [Verbose] > │ let v36 : UH0 = UH0_0(2, 4, v35) │
00:00:17 #744 [Verbose] > │ let v37 : UH0 = UH0_0(1, 2, v36) │
00:00:17 #745 [Verbose] > │ let v38 : UH0 = UH0_0(0, 0, v37) │
00:00:17 #746 [Verbose] > │ let v39 : UH0 = UH0_1 │
00:00:17 #747 [Verbose] > │ let v40 : UH0 = UH0_0(4, 8, v39) │
00:00:17 #748 [Verbose] > │ let v41 : UH0 = UH0_0(3, 6, v40) │
00:00:17 #749 [Verbose] > │ let v42 : UH0 = UH0_0(2, 4, v41) │
00:00:17 #750 [Verbose] > │ let v43 : UH0 = UH0_0(1, 2, v42) │
00:00:17 #751 [Verbose] > │ let v44 : UH0 = UH0_0(0, 0, v43) │
00:00:17 #752 [Verbose] > │ let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}" │
00:00:17 #753 [Verbose] > │ () │
00:00:17 #754 [Verbose] > │ method0() │
00:00:17 #755 [Verbose] > │ │
00:00:17 #756 [Verbose] > │ │
00:00:17 #757 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #758 [Verbose] >
00:00:17 #759 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 #760 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 #761 [Verbose] > │ ## group_by │
00:00:17 #762 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #763 [Verbose] >
00:00:17 #764 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #765 [Verbose] > inl group_by fn list =
00:00:17 #766 [Verbose] > (list, [[]])
00:00:17 #767 [Verbose] > ||> listm.foldBack fun x acc =>
00:00:17 #768 [Verbose] > inl xk = fn x
00:00:17 #769 [Verbose] > inl found, new_acc =
00:00:17 #770 [Verbose] > ((false, [[]]), acc)
00:00:17 #771 [Verbose] > ||> listm.fold fun (found, acc') (k, xs) =>
00:00:17 #772 [Verbose] > if k = xk
00:00:17 #773 [Verbose] > then true, (k, x :: xs) :: acc'
00:00:17 #774 [Verbose] > else found, (k, xs) :: acc'
00:00:17 #775 [Verbose] > if found
00:00:17 #776 [Verbose] > then new_acc
00:00:17 #777 [Verbose] > else (xk, [[ x ]]) :: new_acc
00:00:17 #778 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3944-4467-4f00b30930f6\main.spi
00:00:17 #779 [Verbose] >
00:00:17 #780 [Verbose] > ╭─[ 176.25ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #781 [Verbose] > │ () │
00:00:17 #782 [Verbose] > │ │
00:00:17 #783 [Verbose] > │ │
00:00:17 #784 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #785 [Verbose] >
00:00:17 #786 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #787 [Verbose] > // // test
00:00:17 #788 [Verbose] >
00:00:17 #789 [Verbose] > listm.init 10i32 id
00:00:17 #790 [Verbose] > |> group_by (fun x => x % 2 = 0)
00:00:17 #791 [Verbose] > |> _equal [[ true, [[ 0; 2; 4; 6; 8 ]]; false, [[ 1; 3; 5; 7; 9 ]] ]]
00:00:17 #792 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3962-6235-657b558bbd33\main.spi
00:00:17 #793 [Verbose] >
00:00:17 #794 [Verbose] > ╭─[ 304.06ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #795 [Verbose] > │ type UH0 = │
00:00:17 #796 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:17 #797 [Verbose] > │ | UH0_1 │
00:00:17 #798 [Verbose] > │ and UH1 = │
00:00:17 #799 [Verbose] > │ | UH1_0 of bool * UH0 * UH1 │
00:00:17 #800 [Verbose] > │ | UH1_1 │
00:00:17 #801 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #802 [Verbose] > │ let v96 : UH0 = UH0_1 │
00:00:17 #803 [Verbose] > │ let v97 : UH0 = UH0_0(8, v96) │
00:00:17 #804 [Verbose] > │ let v98 : UH0 = UH0_0(6, v97) │
00:00:17 #805 [Verbose] > │ let v99 : UH0 = UH0_0(4, v98) │
00:00:17 #806 [Verbose] > │ let v100 : UH0 = UH0_0(2, v99) │
00:00:17 #807 [Verbose] > │ let v101 : UH0 = UH0_0(0, v100) │
00:00:17 #808 [Verbose] > │ let v102 : UH0 = UH0_1 │
00:00:17 #809 [Verbose] > │ let v103 : UH0 = UH0_0(9, v102) │
00:00:17 #810 [Verbose] > │ let v104 : UH0 = UH0_0(7, v103) │
00:00:17 #811 [Verbose] > │ let v105 : UH0 = UH0_0(5, v104) │
00:00:17 #812 [Verbose] > │ let v106 : UH0 = UH0_0(3, v105) │
00:00:17 #813 [Verbose] > │ let v107 : UH0 = UH0_0(1, v106) │
00:00:17 #814 [Verbose] > │ let v108 : UH1 = UH1_1 │
00:00:17 #815 [Verbose] > │ let v109 : UH1 = UH1_0(false, v107, v108) │
00:00:17 #816 [Verbose] > │ let v110 : UH1 = UH1_0(true, v101, v109) │
00:00:17 #817 [Verbose] > │ let v111 : UH0 = UH0_1 │
00:00:17 #818 [Verbose] > │ let v112 : UH0 = UH0_0(8, v111) │
00:00:17 #819 [Verbose] > │ let v113 : UH0 = UH0_0(6, v112) │
00:00:17 #820 [Verbose] > │ let v114 : UH0 = UH0_0(4, v113) │
00:00:17 #821 [Verbose] > │ let v115 : UH0 = UH0_0(2, v114) │
00:00:17 #822 [Verbose] > │ let v116 : UH0 = UH0_0(0, v115) │
00:00:17 #823 [Verbose] > │ let v117 : UH0 = UH0_1 │
00:00:17 #824 [Verbose] > │ let v118 : UH0 = UH0_0(9, v117) │
00:00:17 #825 [Verbose] > │ let v119 : UH0 = UH0_0(7, v118) │
00:00:17 #826 [Verbose] > │ let v120 : UH0 = UH0_0(5, v119) │
00:00:17 #827 [Verbose] > │ let v121 : UH0 = UH0_0(3, v120) │
00:00:17 #828 [Verbose] > │ let v122 : UH0 = UH0_0(1, v121) │
00:00:17 #829 [Verbose] > │ let v123 : UH1 = UH1_1 │
00:00:17 #830 [Verbose] > │ let v124 : UH1 = UH1_0(false, v122, v123) │
00:00:17 #831 [Verbose] > │ let v125 : UH1 = UH1_0(true, v116, v124) │
00:00:17 #832 [Verbose] > │ let v126 : string = $"_equal / actual: %A{v110} / expected: %A{v125}" │
00:00:17 #833 [Verbose] > │ () │
00:00:17 #834 [Verbose] > │ method0() │
00:00:17 #835 [Verbose] > │ │
00:00:17 #836 [Verbose] > │ │
00:00:17 #837 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #838 [Verbose] >
00:00:17 #839 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 #840 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 #841 [Verbose] > │ ## forall' │
00:00:17 #842 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #843 [Verbose] >
00:00:17 #844 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #845 [Verbose] > inl forall' fn (head :: tail) =
00:00:17 #846 [Verbose] > (true, tail)
00:00:17 #847 [Verbose] > ||> listm.fold fun acc x =>
00:00:17 #848 [Verbose] > acc && x = head
00:00:18 #849 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-3995-9536-9a5f246c04d1\main.spi
00:00:18 #850 [Verbose] >
00:00:18 #851 [Verbose] > ╭─[ 176.21ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #852 [Verbose] > │ () │
00:00:18 #853 [Verbose] > │ │
00:00:18 #854 [Verbose] > │ │
00:00:18 #855 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #856 [Verbose] >
00:00:18 #857 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #858 [Verbose] > // // test
00:00:18 #859 [Verbose] >
00:00:18 #860 [Verbose] > [[ 1i32; 1; 1; 1; 1 ]]
00:00:18 #861 [Verbose] > |> forall' ((=) 1i32)
00:00:18 #862 [Verbose] > |> _equal true
00:00:18 #863 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-4013-1317-1dfcd07b6784\main.spi
00:00:18 #864 [Verbose] >
00:00:18 #865 [Verbose] > ╭─[ 177.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #866 [Verbose] > │ let rec method0 () : unit = │
00:00:18 #867 [Verbose] > │ let v0 : string = $"_equal / actual: %A{true} / expected: %A{true}" │
00:00:18 #868 [Verbose] > │ () │
00:00:18 #869 [Verbose] > │ method0() │
00:00:18 #870 [Verbose] > │ │
00:00:18 #871 [Verbose] > │ │
00:00:18 #872 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #873 [Verbose] >
00:00:18 #874 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:18 #875 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:18 #876 [Verbose] > │ ## last │
00:00:18 #877 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #878 [Verbose] >
00:00:18 #879 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #880 [Verbose] > inl last list =
00:00:18 #881 [Verbose] > list
00:00:18 #882 [Verbose] > |> listm.rev
00:00:18 #883 [Verbose] > |> item 0i32
00:00:18 #884 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-4031-3152-3a4e7ffd46b4\main.spi
00:00:18 #885 [Verbose] >
00:00:18 #886 [Verbose] > ╭─[ 172.16ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #887 [Verbose] > │ () │
00:00:18 #888 [Verbose] > │ │
00:00:18 #889 [Verbose] > │ │
00:00:18 #890 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #891 [Verbose] >
00:00:18 #892 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #893 [Verbose] > // // test
00:00:18 #894 [Verbose] >
00:00:18 #895 [Verbose] > listm.init 10i32 id
00:00:18 #896 [Verbose] > |> last
00:00:18 #897 [Verbose] > |> _equal 9
00:00:18 #898 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-4048-4898-4f70a9e1ca79\main.spi
00:00:18 #899 [Verbose] >
00:00:18 #900 [Verbose] > ╭─[ 205.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #901 [Verbose] > │ let rec method0 () : unit = │
00:00:18 #902 [Verbose] > │ let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}" │
00:00:18 #903 [Verbose] > │ () │
00:00:18 #904 [Verbose] > │ method0() │
00:00:18 #905 [Verbose] > │ │
00:00:18 #906 [Verbose] > │ │
00:00:18 #907 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #908 [Verbose] > [NbConvertApp] Converting notebook listm'.dib.ipynb to html
00:00:20 #909 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:20 #910 [Verbose] > validate(nb)
00:00:21 #911 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:21 #912 [Verbose] > return _pygments_highlight(
00:00:21 #913 [Verbose] > [NbConvertApp] Writing 354401 bytes to listm'.dib.html
00:00:22 #914 [Debug] executeAsync / exitCode: 0 / output.Length: 47863
00:00:22 #915 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 benchmark.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ ## benchmark (Polyglot) │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5182-8280-896f7278af36\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.69s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > inl (/@) x = listm'.(/@) x
00:00:09 #31 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5509-0974-0f91d88952d0\main.spi
00:00:10 #32 [Verbose] >
00:00:10 #33 [Verbose] > ╭─[ 278.73ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #34 [Verbose] > │ () │
00:00:10 #35 [Verbose] > │ │
00:00:10 #36 [Verbose] > │ │
00:00:10 #37 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #38 [Verbose] >
00:00:10 #39 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #40 [Verbose] > inl am'_average forall el {number}. (array : a _ el) : el =
00:00:10 #41 [Verbose] > $"!array |> Array.average"
00:00:10 #42 [Verbose] >
00:00:10 #43 [Verbose] > inl am'_parallel_map forall dim el el'. (fn : el -> el') (array : a dim el) : a
00:00:10 #44 [Verbose] > dim el' =
00:00:10 #45 [Verbose] > $"!array |> Array.Parallel.map !fn"
00:00:10 #46 [Verbose] >
00:00:10 #47 [Verbose] > inl am'_sort_by forall dim el. (fn : el -> _) (array : a dim el) : a dim el =
00:00:10 #48 [Verbose] > $"!array |> Array.sortBy !fn"
00:00:10 #49 [Verbose] >
00:00:10 #50 [Verbose] > inl am'_sort_descending forall dim el. (array : a dim el) : a dim el =
00:00:10 #51 [Verbose] > $"!array |> Array.sortDescending"
00:00:10 #52 [Verbose] >
00:00:10 #53 [Verbose] > inl am'_transpose forall dim el. (array : a dim (a dim el)) : a dim (a dim el) =
00:00:10 #54 [Verbose] > $"!array |> Array.transpose"
00:00:10 #55 [Verbose] >
00:00:10 #56 [Verbose] > inl am'_try_item forall dim el. (i : i32) (array : a dim el) : option el =
00:00:10 #57 [Verbose] > $"!array |> Array.tryItem !i" |> optionm'.from_fsharp
00:00:10 #58 [Verbose] >
00:00:10 #59 [Verbose] > nominal console_color = $"System.ConsoleColor"
00:00:10 #60 [Verbose] >
00:00:10 #61 [Verbose] > inl console_reset_color () : () =
00:00:10 #62 [Verbose] > run_target function
00:00:10 #63 [Verbose] > | Fsharp => fun () => $"System.Console.ResetColor ()"
00:00:10 #64 [Verbose] > | _ => fun () => ()
00:00:10 #65 [Verbose] >
00:00:10 #66 [Verbose] > inl console_set_foreground_color (color : console_color) : () =
00:00:10 #67 [Verbose] > run_target function
00:00:10 #68 [Verbose] > | Fsharp => fun () => $"System.Console.ForegroundColor <- !color"
00:00:10 #69 [Verbose] > | _ => fun () => ()
00:00:10 #70 [Verbose] >
00:00:10 #71 [Verbose] > inl gc_collect () =
00:00:10 #72 [Verbose] > run_target function
00:00:10 #73 [Verbose] > | Fsharp => fun () => $"System.GC.Collect ()"
00:00:10 #74 [Verbose] > | _ => fun () => ()
00:00:10 #75 [Verbose] >
00:00:10 #76 [Verbose] > nominal map k v = $"Map<`k, `v>"
00:00:10 #77 [Verbose] >
00:00:10 #78 [Verbose] > inl map_item forall k v. (k : k) (map : map k v) : v =
00:00:10 #79 [Verbose] > $"!map.[[!k]]"
00:00:10 #80 [Verbose] >
00:00:10 #81 [Verbose] > inl map_of_array forall k v. (array : a _ (k * v)) : map k v =
00:00:10 #82 [Verbose] > $"!array |> Array.map (fun (struct (a, b)) -> a, b) |> Map.ofArray"
00:00:10 #83 [Verbose] >
00:00:10 #84 [Verbose] > inl printfn x =
00:00:10 #85 [Verbose] > console.write_line x
00:00:10 #86 [Verbose] >
00:00:10 #87 [Verbose] > nominal stopwatch = $"System.Diagnostics.Stopwatch"
00:00:10 #88 [Verbose] >
00:00:10 #89 [Verbose] > inl stopwatch () : stopwatch =
00:00:10 #90 [Verbose] > $"`stopwatch" ()
00:00:10 #91 [Verbose] >
00:00:10 #92 [Verbose] > inl stopwatch_elapsed_milliseconds (stopwatch : stopwatch) : i64 =
00:00:10 #93 [Verbose] > $"!stopwatch.ElapsedMilliseconds"
00:00:10 #94 [Verbose] >
00:00:10 #95 [Verbose] > inl stopwatch_start (stopwatch : stopwatch) : () =
00:00:10 #96 [Verbose] > $"!stopwatch.Start ()"
00:00:10 #97 [Verbose] >
00:00:10 #98 [Verbose] > inl string_concat (a : string) (b : a _ _) : string =
00:00:10 #99 [Verbose] > $"!b |> String.concat !a"
00:00:10 #100 [Verbose] >
00:00:10 #101 [Verbose] > inl string_join (concat : string) (s : a _ string) : string =
00:00:10 #102 [Verbose] > $"System.String.Join (!concat, !s)"
00:00:10 #103 [Verbose] >
00:00:10 #104 [Verbose] >
00:00:10 #105 [Verbose] > inl string_pad_right (pad : i32) (s : string) : string =
00:00:10 #106 [Verbose] > $"!s.PadRight !pad"
00:00:10 #107 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5536-3604-35caab7f5967\main.spi
00:00:10 #108 [Verbose] >
00:00:10 #109 [Verbose] > ╭─[ 220.56ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #110 [Verbose] > │ () │
00:00:10 #111 [Verbose] > │ │
00:00:10 #112 [Verbose] > │ │
00:00:10 #113 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #114 [Verbose] >
00:00:10 #115 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #116 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #117 [Verbose] > │ ## test_case_result │
00:00:10 #118 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #119 [Verbose] >
00:00:10 #120 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #121 [Verbose] > type test_case_result =
00:00:10 #122 [Verbose] > {
00:00:10 #123 [Verbose] > Input : string
00:00:10 #124 [Verbose] > Expected : string
00:00:10 #125 [Verbose] > Result : string
00:00:10 #126 [Verbose] > TimeList : a u64 i64
00:00:10 #127 [Verbose] > }
00:00:10 #128 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5558-5850-51e8b11c4c36\main.spi
00:00:10 #129 [Verbose] >
00:00:10 #130 [Verbose] > ╭─[ 194.66ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #131 [Verbose] > │ () │
00:00:10 #132 [Verbose] > │ │
00:00:10 #133 [Verbose] > │ │
00:00:10 #134 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #135 [Verbose] >
00:00:10 #136 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #137 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #138 [Verbose] > │ ## run │
00:00:10 #139 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #140 [Verbose] >
00:00:10 #141 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #142 [Verbose] > inl run forall input expected.
00:00:10 #143 [Verbose] > count
00:00:10 #144 [Verbose] > (solutions : list (string * (input -> expected)))
00:00:10 #145 [Verbose] > ((input, expected) : (input * expected))
00:00:10 #146 [Verbose] > : test_case_result
00:00:10 #147 [Verbose] > =
00:00:10 #148 [Verbose] > inl input_str = input |> format_debug
00:00:10 #149 [Verbose] >
00:00:10 #150 [Verbose] > printfn ""
00:00:10 #151 [Verbose] > printfn ($"$\"Solution: {!input_str} \"" : string)
00:00:10 #152 [Verbose] >
00:00:10 #153 [Verbose] > inl performance_invoke (fn : () -> expected) =
00:00:10 #154 [Verbose] > gc_collect ()
00:00:10 #155 [Verbose] > inl stopwatch = stopwatch ()
00:00:10 #156 [Verbose] > stopwatch |> stopwatch_start
00:00:10 #157 [Verbose] > inl time1 = stopwatch |> stopwatch_elapsed_milliseconds
00:00:10 #158 [Verbose] > inl result : expected =
00:00:10 #159 [Verbose] > am'.init_series 0 count 1i32
00:00:10 #160 [Verbose] > |> am'_parallel_map fun _n => fn ()
00:00:10 #161 [Verbose] > |> am'.last
00:00:10 #162 [Verbose] > inl time2 = (stopwatch |> stopwatch_elapsed_milliseconds) - time1
00:00:10 #163 [Verbose] > result, time2
00:00:10 #164 [Verbose] >
00:00:10 #165 [Verbose] > inl results_with_time : a u64 _ =
00:00:10 #166 [Verbose] > solutions
00:00:10 #167 [Verbose] > |> listm'.indexed
00:00:10 #168 [Verbose] > |> listm.toArray
00:00:10 #169 [Verbose] > |> am.map fun ((i : i32), (test_name, solution)) =>
00:00:10 #170 [Verbose] > inl result, time = performance_invoke fun () => solution input
00:00:10 #171 [Verbose] > printfn ($"$\"Test case {!i + 1}. {!test_name}. Time: {!time} \"" :
00:00:10 #172 [Verbose] > string)
00:00:10 #173 [Verbose] > result, time
00:00:10 #174 [Verbose] >
00:00:10 #175 [Verbose] > match results_with_time |> am.map fst with
00:00:10 #176 [Verbose] > | array when length array <= 1 => ()
00:00:10 #177 [Verbose] > | array when array |> am.forall' ((=) (index array 0)) => ()
00:00:10 #178 [Verbose] > | results => failwith ($"$\"Challenge error: {!results}\"" : string)
00:00:10 #179 [Verbose] >
00:00:10 #180 [Verbose] > {
00:00:10 #181 [Verbose] > Input = input_str
00:00:10 #182 [Verbose] > Expected = expected |> format_debug
00:00:10 #183 [Verbose] > Result = results_with_time |> am.map fst |> fun array => index array 0
00:00:10 #184 [Verbose] > |> format_debug
00:00:10 #185 [Verbose] > TimeList = results_with_time |> am.map snd
00:00:10 #186 [Verbose] > }
00:00:10 #187 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5578-7857-7c074b02c2ba\main.spi
00:00:10 #188 [Verbose] >
00:00:10 #189 [Verbose] > ╭─[ 168.56ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #190 [Verbose] > │ () │
00:00:10 #191 [Verbose] > │ │
00:00:10 #192 [Verbose] > │ │
00:00:10 #193 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #194 [Verbose] >
00:00:10 #195 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #196 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #197 [Verbose] > │ ## run_all │
00:00:10 #198 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #199 [Verbose] >
00:00:10 #200 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #201 [Verbose] > inl run_all forall input expected.
00:00:10 #202 [Verbose] > test_name
00:00:10 #203 [Verbose] > count
00:00:10 #204 [Verbose] > (solutions : list (string * (input -> expected)))
00:00:10 #205 [Verbose] > test_cases
00:00:10 #206 [Verbose] > =
00:00:10 #207 [Verbose] > printfn ""
00:00:10 #208 [Verbose] > printfn ""
00:00:10 #209 [Verbose] > printfn ($"$\"Test: {!test_name}\"" : string)
00:00:10 #210 [Verbose] > test_cases
00:00:10 #211 [Verbose] > |> listm.toArray
00:00:10 #212 [Verbose] > |> am.map (run count solutions)
00:00:10 #213 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5595-9592-98b395b8b743\main.spi
00:00:10 #214 [Verbose] >
00:00:10 #215 [Verbose] > ╭─[ 184.47ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #216 [Verbose] > │ () │
00:00:10 #217 [Verbose] > │ │
00:00:10 #218 [Verbose] > │ │
00:00:10 #219 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #220 [Verbose] >
00:00:10 #221 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #222 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #223 [Verbose] > │ ## sort_result_list │
00:00:10 #224 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #225 [Verbose] >
00:00:10 #226 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #227 [Verbose] > inl sort_result_list results =
00:00:10 #228 [Verbose] > inl table =
00:00:10 #229 [Verbose] > inl rows =
00:00:10 #230 [Verbose] > results
00:00:10 #231 [Verbose] > |> am.map fun (result : test_case_result) =>
00:00:10 #232 [Verbose] > inl best =
00:00:10 #233 [Verbose] > result.TimeList
00:00:10 #234 [Verbose] > |> am'.indexed
00:00:10 #235 [Verbose] > |> am.map fun (i, time) =>
00:00:10 #236 [Verbose] > i + 1i64, time
00:00:10 #237 [Verbose] > |> am'_sort_by snd
00:00:10 #238 [Verbose] > |> fun array => index array 0i32
00:00:10 #239 [Verbose] > |> format_debug
00:00:10 #240 [Verbose] > inl row =
00:00:10 #241 [Verbose] > [[
00:00:10 #242 [Verbose] > result.Input
00:00:10 #243 [Verbose] > result.Expected
00:00:10 #244 [Verbose] > result.Result
00:00:10 #245 [Verbose] > best
00:00:10 #246 [Verbose] > ]]
00:00:10 #247 [Verbose] > inl color : option console_color =
00:00:10 #248 [Verbose] > match result.Expected = result.Result with
00:00:10 #249 [Verbose] > | true => Some $"`console_color.DarkGreen"
00:00:10 #250 [Verbose] > | false => Some $"`console_color.DarkRed"
00:00:10 #251 [Verbose] > row, color
00:00:10 #252 [Verbose] >
00:00:10 #253 [Verbose] > inl header =
00:00:10 #254 [Verbose] > [[
00:00:10 #255 [Verbose] > [[
00:00:10 #256 [Verbose] > "Input"
00:00:10 #257 [Verbose] > "Expected"
00:00:10 #258 [Verbose] > "Result"
00:00:10 #259 [Verbose] > "Best"
00:00:10 #260 [Verbose] > ]]
00:00:10 #261 [Verbose] > [[
00:00:10 #262 [Verbose] > "---"
00:00:10 #263 [Verbose] > "---"
00:00:10 #264 [Verbose] > "---"
00:00:10 #265 [Verbose] > "---"
00:00:10 #266 [Verbose] > ]]
00:00:10 #267 [Verbose] > ]]
00:00:10 #268 [Verbose] > |> listm.map fun row => row, None
00:00:10 #269 [Verbose] > |> listm.toArray
00:00:10 #270 [Verbose] > rows |> am.append header
00:00:10 #271 [Verbose] >
00:00:10 #272 [Verbose] > inl formattedTable =
00:00:10 #273 [Verbose] > inl lengthMap : map i32 i64 =
00:00:10 #274 [Verbose] > table
00:00:10 #275 [Verbose] > |> am.map (fst >> listm.toArray)
00:00:10 #276 [Verbose] > |> am'_transpose
00:00:10 #277 [Verbose] > |> am.map fun column =>
00:00:10 #278 [Verbose] > column
00:00:10 #279 [Verbose] > |> am.map sm.length
00:00:10 #280 [Verbose] > |> am'_sort_descending
00:00:10 #281 [Verbose] > |> am'_try_item 0i32
00:00:10 #282 [Verbose] > |> optionm'.default_value 0i64
00:00:10 #283 [Verbose] > |> am'.indexed
00:00:10 #284 [Verbose] > |> fun (x : a i32 _) => x
00:00:10 #285 [Verbose] > |> map_of_array
00:00:10 #286 [Verbose] > table
00:00:10 #287 [Verbose] > |> am.map fun (row, color) =>
00:00:10 #288 [Verbose] > inl newRow =
00:00:10 #289 [Verbose] > row
00:00:10 #290 [Verbose] > |> listm'.indexed
00:00:10 #291 [Verbose] > |> listm.map fun (i, cell) =>
00:00:10 #292 [Verbose] > cell |> string_pad_right (lengthMap |> map_item i |> conv)
00:00:10 #293 [Verbose] > |> listm.toArray
00:00:10 #294 [Verbose] > newRow, color
00:00:10 #295 [Verbose] >
00:00:10 #296 [Verbose] > printfn ""
00:00:10 #297 [Verbose] > formattedTable
00:00:10 #298 [Verbose] > |> am.iter fun ((row : a i32 string), color) =>
00:00:10 #299 [Verbose] > match color with
00:00:10 #300 [Verbose] > | Some color => color |> console_set_foreground_color
00:00:10 #301 [Verbose] > | None => console_reset_color ()
00:00:10 #302 [Verbose] >
00:00:10 #303 [Verbose] > printfn (row |> string_join "\t| ")
00:00:10 #304 [Verbose] >
00:00:10 #305 [Verbose] > console_reset_color ()
00:00:10 #306 [Verbose] >
00:00:10 #307 [Verbose] > inl averages : a u64 _ =
00:00:10 #308 [Verbose] > results
00:00:10 #309 [Verbose] > |> am.map fun result =>
00:00:10 #310 [Verbose] > result.TimeList
00:00:10 #311 [Verbose] > |> am.map ($"float" : i64 -> f64)
00:00:10 #312 [Verbose] > |> am'_transpose
00:00:10 #313 [Verbose] > |> am.map am'_average
00:00:10 #314 [Verbose] > |> am.map ($"int64" : f64 -> i64)
00:00:10 #315 [Verbose] > |> am'.indexed
00:00:10 #316 [Verbose] >
00:00:10 #317 [Verbose] > printfn ""
00:00:10 #318 [Verbose] > printfn "Average Ranking "
00:00:10 #319 [Verbose] > averages
00:00:10 #320 [Verbose] > |> am'_sort_by snd
00:00:10 #321 [Verbose] > |> am.iter fun ((i : i32), avg) =>
00:00:10 #322 [Verbose] > printfn ($"$\"Test case %d{!i + 1}. Average Time: %A{!avg} \"" :
00:00:10 #323 [Verbose] > string)
00:00:10 #324 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5614-1499-17fa4c3472aa\main.spi
00:00:11 #325 [Verbose] >
00:00:11 #326 [Verbose] > ╭─[ 182.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #327 [Verbose] > │ () │
00:00:11 #328 [Verbose] > │ │
00:00:11 #329 [Verbose] > │ │
00:00:11 #330 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #331 [Verbose] >
00:00:11 #332 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #333 [Verbose] > // // test
00:00:11 #334 [Verbose] >
00:00:11 #335 [Verbose] > inl is_fast () =
00:00:11 #336 [Verbose] > false
00:00:11 #337 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5633-3325-3315f6c7c6ef\main.spi
00:00:11 #338 [Verbose] >
00:00:11 #339 [Verbose] > ╭─[ 257.38ms - stdout ]────────────────────────────────────────────────────────╮
00:00:11 #340 [Verbose] > │ () │
00:00:11 #341 [Verbose] > │ │
00:00:11 #342 [Verbose] > │ │
00:00:11 #343 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #344 [Verbose] >
00:00:11 #345 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #346 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #347 [Verbose] > │ ## empty2Tests │
00:00:11 #348 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #349 [Verbose] >
00:00:11 #350 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #351 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #352 [Verbose] > │ Test: Empty2 │
00:00:11 #353 [Verbose] > │ │
00:00:11 #354 [Verbose] > │ Solution: (a, a) │
00:00:11 #355 [Verbose] > │ Test case 1. A. Time: 59L │
00:00:11 #356 [Verbose] > │ │
00:00:11 #357 [Verbose] > │ Solution: (a, a) │
00:00:11 #358 [Verbose] > │ Test case 1. A. Time: 53L │
00:00:11 #359 [Verbose] > │ │
00:00:11 #360 [Verbose] > │ Input | Expected | Result | Best │
00:00:11 #361 [Verbose] > │ --- | --- | --- | --- │
00:00:11 #362 [Verbose] > │ (a, a) | a | a | (1, 59) │
00:00:11 #363 [Verbose] > │ (a, a) | a | a | (1, 53) │
00:00:11 #364 [Verbose] > │ │
00:00:11 #365 [Verbose] > │ Averages │
00:00:11 #366 [Verbose] > │ Test case 1. Average Time: 56L │
00:00:11 #367 [Verbose] > │ │
00:00:11 #368 [Verbose] > │ Ranking │
00:00:11 #369 [Verbose] > │ Test case 1. Average Time: 56L │
00:00:11 #370 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #371 [Verbose] >
00:00:11 #372 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #373 [Verbose] > // // test
00:00:11 #374 [Verbose] >
00:00:11 #375 [Verbose] > inl get_solutions () =
00:00:11 #376 [Verbose] > [[
00:00:11 #377 [Verbose] > "A",
00:00:11 #378 [Verbose] > fun (a, _b) =>
00:00:11 #379 [Verbose] > a
00:00:11 #380 [Verbose] >
00:00:11 #381 [Verbose] > "B",
00:00:11 #382 [Verbose] > fun (_a, b) =>
00:00:11 #383 [Verbose] > b
00:00:11 #384 [Verbose] > ]]
00:00:11 #385 [Verbose] >
00:00:11 #386 [Verbose] > inl rec empty_2_tests () =
00:00:11 #387 [Verbose] > inl test_cases = [[
00:00:11 #388 [Verbose] > ("a", "a"), "a"
00:00:11 #389 [Verbose] > ("b", "b"), "b"
00:00:11 #390 [Verbose] > ]]
00:00:11 #391 [Verbose] >
00:00:11 #392 [Verbose] > inl solutions = get_solutions ()
00:00:11 #393 [Verbose] >
00:00:11 #394 [Verbose] > // inl is_fast () = true
00:00:11 #395 [Verbose] >
00:00:11 #396 [Verbose] > inl count =
00:00:11 #397 [Verbose] > if is_fast ()
00:00:11 #398 [Verbose] > then 1000i32
00:00:11 #399 [Verbose] > else 2000000i32
00:00:11 #400 [Verbose] >
00:00:11 #401 [Verbose] > run_all (nameof empty_2_tests) count solutions test_cases
00:00:11 #402 [Verbose] > |> sort_result_list
00:00:11 #403 [Verbose] >
00:00:11 #404 [Verbose] > empty_2_tests ()
00:00:11 #405 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0119-5662-6201-67989b72907e\main.spi
00:00:22 #406 [Verbose] >
00:00:22 #407 [Verbose] > ╭─[ 11.15s - stdout ]──────────────────────────────────────────────────────────╮
00:00:22 #408 [Verbose] > │ type UH0 = │
00:00:22 #409 [Verbose] > │ | UH0_0 of string * string * string * UH0 │
00:00:22 #410 [Verbose] > │ | UH0_1 │
00:00:22 #411 [Verbose] > │ and Mut0 = {mutable l0 : uint64} │
00:00:22 #412 [Verbose] > │ and UH1 = │
00:00:22 #413 [Verbose] > │ | UH1_0 of int32 * string * (struct (string * string) -> string) * UH1 │
00:00:22 #414 [Verbose] > │ | UH1_1 │
00:00:22 #415 [Verbose] > │ and Mut1 = {mutable l0 : int32} │
00:00:22 #416 [Verbose] > │ and UH2 = │
00:00:22 #417 [Verbose] > │ | UH2_0 of string * UH2 │
00:00:22 #418 [Verbose] > │ | UH2_1 │
00:00:22 #419 [Verbose] > │ and [<Struct>] US0 = │
00:00:22 #420 [Verbose] > │ | US0_0 │
00:00:22 #421 [Verbose] > │ | US0_1 of f1_0 : System.ConsoleColor │
00:00:22 #422 [Verbose] > │ and UH3 = │
00:00:22 #423 [Verbose] > │ | UH3_0 of int64 * int64 * UH3 │
00:00:22 #424 [Verbose] > │ | UH3_1 │
00:00:22 #425 [Verbose] > │ and Mut2 = {mutable l0 : uint64; mutable l1 : UH3; mutable l2 : int64} │
00:00:22 #426 [Verbose] > │ and UH4 = │
00:00:22 #427 [Verbose] > │ | UH4_0 of UH2 * US0 * UH4 │
00:00:22 #428 [Verbose] > │ | UH4_1 │
00:00:22 #429 [Verbose] > │ and [<Struct>] US1 = │
00:00:22 #430 [Verbose] > │ | US1_0 │
00:00:22 #431 [Verbose] > │ | US1_1 of f1_0 : int64 │
00:00:22 #432 [Verbose] > │ and UH5 = │
00:00:22 #433 [Verbose] > │ | UH5_0 of int32 * int64 * UH5 │
00:00:22 #434 [Verbose] > │ | UH5_1 │
00:00:22 #435 [Verbose] > │ and Mut3 = {mutable l0 : uint64; mutable l1 : UH5; mutable l2 : int32} │
00:00:22 #436 [Verbose] > │ and UH6 = │
00:00:22 #437 [Verbose] > │ | UH6_0 of int32 * string * UH6 │
00:00:22 #438 [Verbose] > │ | UH6_1 │
00:00:22 #439 [Verbose] > │ let rec method2 (v0 : UH0, v1 : uint64) : uint64 = │
00:00:22 #440 [Verbose] > │ match v0 with │
00:00:22 #441 [Verbose] > │ | UH0_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:22 #442 [Verbose] > │ let v6 : uint64 = v1 + 1UL │
00:00:22 #443 [Verbose] > │ method2(v5, v6) │
00:00:22 #444 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:22 #445 [Verbose] > │ v1 │
00:00:22 #446 [Verbose] > │ and method3 (v0 : (struct (string * string * string) []), v1 : UH0, v2 : │
00:00:22 #447 [Verbose] > │ uint64) : uint64 = │
00:00:22 #448 [Verbose] > │ match v1 with │
00:00:22 #449 [Verbose] > │ | UH0_0(v3, v4, v5, v6) -> (* Cons *) │
00:00:22 #450 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5) │
00:00:22 #451 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:22 #452 [Verbose] > │ method3(v0, v6, v7) │
00:00:22 #453 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:22 #454 [Verbose] > │ v2 │
00:00:22 #455 [Verbose] > │ and method1 (v0 : UH0) : (struct (string * string * string) []) = │
00:00:22 #456 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:22 #457 [Verbose] > │ let v2 : uint64 = method2(v0, v1) │
00:00:22 #458 [Verbose] > │ let v3 : (struct (string * string * string) []) = │
00:00:22 #459 [Verbose] > │ Array.zeroCreate<struct (string * string * string)> │
00:00:22 #460 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:22 #461 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:22 #462 [Verbose] > │ let v5 : uint64 = method3(v3, v0, v4) │
00:00:22 #463 [Verbose] > │ v3 │
00:00:22 #464 [Verbose] > │ and method4 (v0 : uint64, v1 : Mut0) : bool = │
00:00:22 #465 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:22 #466 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #467 [Verbose] > │ v3 │
00:00:22 #468 [Verbose] > │ and closure1 () struct (v0 : string, v1 : string) : string = │
00:00:22 #469 [Verbose] > │ v0 │
00:00:22 #470 [Verbose] > │ and closure2 () struct (v0 : string, v1 : string) : string = │
00:00:22 #471 [Verbose] > │ v1 │
00:00:22 #472 [Verbose] > │ and method6 (v0 : UH1, v1 : uint64) : uint64 = │
00:00:22 #473 [Verbose] > │ match v0 with │
00:00:22 #474 [Verbose] > │ | UH1_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:22 #475 [Verbose] > │ let v6 : uint64 = v1 + 1UL │
00:00:22 #476 [Verbose] > │ method6(v5, v6) │
00:00:22 #477 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:22 #478 [Verbose] > │ v1 │
00:00:22 #479 [Verbose] > │ and method7 (v0 : (struct (int32 * string * (struct (string * string) -> │
00:00:22 #480 [Verbose] > │ string)) []), v1 : UH1, v2 : uint64) : uint64 = │
00:00:22 #481 [Verbose] > │ match v1 with │
00:00:22 #482 [Verbose] > │ | UH1_0(v3, v4, v5, v6) -> (* Cons *) │
00:00:22 #483 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5) │
00:00:22 #484 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:22 #485 [Verbose] > │ method7(v0, v6, v7) │
00:00:22 #486 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:22 #487 [Verbose] > │ v2 │
00:00:22 #488 [Verbose] > │ and method5 (v0 : UH1) : (struct (int32 * string * (struct (string * string) │
00:00:22 #489 [Verbose] > │ -> string)) []) = │
00:00:22 #490 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:22 #491 [Verbose] > │ let v2 : uint64 = method6(v0, v1) │
00:00:22 #492 [Verbose] > │ let v3 : (struct (int32 * string * (struct (string * string) -> string)) │
00:00:22 #493 [Verbose] > │ []) = Array.zeroCreate<struct (int32 * string * (struct (string * string) -> │
00:00:22 #494 [Verbose] > │ string))> (System.Convert.ToInt32(v2)) │
00:00:22 #495 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:22 #496 [Verbose] > │ let v5 : uint64 = method7(v3, v0, v4) │
00:00:22 #497 [Verbose] > │ v3 │
00:00:22 #498 [Verbose] > │ and method8 (v0 : Mut1) : bool = │
00:00:22 #499 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:22 #500 [Verbose] > │ let v2 : bool = v1 < 2000001 │
00:00:22 #501 [Verbose] > │ v2 │
00:00:22 #502 [Verbose] > │ and closure3 (v0 : string, v1 : string, v2 : (struct (string * string) -> │
00:00:22 #503 [Verbose] > │ string)) (v3 : int32) : string = │
00:00:22 #504 [Verbose] > │ v2 struct (v0, v1) │
00:00:22 #505 [Verbose] > │ and method9 (v0 : string, v1 : (string []), v2 : uint64) : bool = │
00:00:22 #506 [Verbose] > │ let v3 : uint64 = System.Convert.ToUInt64 v1.Length │
00:00:22 #507 [Verbose] > │ let v4 : bool = v2 < v3 │
00:00:22 #508 [Verbose] > │ if v4 then │
00:00:22 #509 [Verbose] > │ let v5 : string = v1.[int v2] │
00:00:22 #510 [Verbose] > │ let v6 : bool = v0 = v5 │
00:00:22 #511 [Verbose] > │ if v6 then │
00:00:22 #512 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:22 #513 [Verbose] > │ method9(v0, v1, v7) │
00:00:22 #514 [Verbose] > │ else │
00:00:22 #515 [Verbose] > │ false │
00:00:22 #516 [Verbose] > │ else │
00:00:22 #517 [Verbose] > │ true │
00:00:22 #518 [Verbose] > │ and method10 (v0 : uint64, v1 : Mut2) : bool = │
00:00:22 #519 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:22 #520 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #521 [Verbose] > │ v3 │
00:00:22 #522 [Verbose] > │ and method11 (v0 : UH3, v1 : UH3) : UH3 = │
00:00:22 #523 [Verbose] > │ match v0 with │
00:00:22 #524 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #525 [Verbose] > │ let v5 : UH3 = UH3_0(v2, v3, v1) │
00:00:22 #526 [Verbose] > │ method11(v4, v5) │
00:00:22 #527 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:22 #528 [Verbose] > │ v1 │
00:00:22 #529 [Verbose] > │ and method13 (v0 : UH3, v1 : int32) : int32 = │
00:00:22 #530 [Verbose] > │ match v0 with │
00:00:22 #531 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #532 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:22 #533 [Verbose] > │ method13(v4, v5) │
00:00:22 #534 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:22 #535 [Verbose] > │ v1 │
00:00:22 #536 [Verbose] > │ and method14 (v0 : (struct (int64 * int64) []), v1 : UH3, v2 : int32) : │
00:00:22 #537 [Verbose] > │ int32 = │
00:00:22 #538 [Verbose] > │ match v1 with │
00:00:22 #539 [Verbose] > │ | UH3_0(v3, v4, v5) -> (* Cons *) │
00:00:22 #540 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:22 #541 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:22 #542 [Verbose] > │ method14(v0, v5, v6) │
00:00:22 #543 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:22 #544 [Verbose] > │ v2 │
00:00:22 #545 [Verbose] > │ and method12 (v0 : UH3) : (struct (int64 * int64) []) = │
00:00:22 #546 [Verbose] > │ let v1 : int32 = 0 │
00:00:22 #547 [Verbose] > │ let v2 : int32 = method13(v0, v1) │
00:00:22 #548 [Verbose] > │ let v3 : (struct (int64 * int64) []) = Array.zeroCreate<struct (int64 * │
00:00:22 #549 [Verbose] > │ int64)> (v2) │
00:00:22 #550 [Verbose] > │ let v4 : int32 = 0 │
00:00:22 #551 [Verbose] > │ let v5 : int32 = method14(v3, v0, v4) │
00:00:22 #552 [Verbose] > │ v3 │
00:00:22 #553 [Verbose] > │ and method15 (v0 : int32, v1 : Mut1) : bool = │
00:00:22 #554 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:22 #555 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #556 [Verbose] > │ v3 │
00:00:22 #557 [Verbose] > │ and closure4 () struct (v0 : int64, v1 : int64) : int64 = │
00:00:22 #558 [Verbose] > │ v1 │
00:00:22 #559 [Verbose] > │ and method17 (v0 : UH4, v1 : uint64) : uint64 = │
00:00:22 #560 [Verbose] > │ match v0 with │
00:00:22 #561 [Verbose] > │ | UH4_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #562 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:22 #563 [Verbose] > │ method17(v4, v5) │
00:00:22 #564 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:22 #565 [Verbose] > │ v1 │
00:00:22 #566 [Verbose] > │ and method18 (v0 : (struct (UH2 * US0) []), v1 : UH4, v2 : uint64) : uint64 │
00:00:22 #567 [Verbose] > │ = │
00:00:22 #568 [Verbose] > │ match v1 with │
00:00:22 #569 [Verbose] > │ | UH4_0(v3, v4, v5) -> (* Cons *) │
00:00:22 #570 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:22 #571 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:22 #572 [Verbose] > │ method18(v0, v5, v6) │
00:00:22 #573 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:22 #574 [Verbose] > │ v2 │
00:00:22 #575 [Verbose] > │ and method16 (v0 : UH4) : (struct (UH2 * US0) []) = │
00:00:22 #576 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:22 #577 [Verbose] > │ let v2 : uint64 = method17(v0, v1) │
00:00:22 #578 [Verbose] > │ let v3 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:22 #579 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:22 #580 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:22 #581 [Verbose] > │ let v5 : uint64 = method18(v3, v0, v4) │
00:00:22 #582 [Verbose] > │ v3 │
00:00:22 #583 [Verbose] > │ and method20 (v0 : UH2, v1 : uint64) : uint64 = │
00:00:22 #584 [Verbose] > │ match v0 with │
00:00:22 #585 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:22 #586 [Verbose] > │ let v4 : uint64 = v1 + 1UL │
00:00:22 #587 [Verbose] > │ method20(v3, v4) │
00:00:22 #588 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:22 #589 [Verbose] > │ v1 │
00:00:22 #590 [Verbose] > │ and method21 (v0 : (string []), v1 : UH2, v2 : uint64) : uint64 = │
00:00:22 #591 [Verbose] > │ match v1 with │
00:00:22 #592 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:22 #593 [Verbose] > │ v0.[int v2] <- v3 │
00:00:22 #594 [Verbose] > │ let v5 : uint64 = v2 + 1UL │
00:00:22 #595 [Verbose] > │ method21(v0, v4, v5) │
00:00:22 #596 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:22 #597 [Verbose] > │ v2 │
00:00:22 #598 [Verbose] > │ and method19 (v0 : UH2) : (string []) = │
00:00:22 #599 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:22 #600 [Verbose] > │ let v2 : uint64 = method20(v0, v1) │
00:00:22 #601 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> │
00:00:22 #602 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:22 #603 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:22 #604 [Verbose] > │ let v5 : uint64 = method21(v3, v0, v4) │
00:00:22 #605 [Verbose] > │ v3 │
00:00:22 #606 [Verbose] > │ and closure5 () (v0 : int64) : US1 = │
00:00:22 #607 [Verbose] > │ US1_1(v0) │
00:00:22 #608 [Verbose] > │ and method22 (v0 : uint64, v1 : Mut3) : bool = │
00:00:22 #609 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:22 #610 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #611 [Verbose] > │ v3 │
00:00:22 #612 [Verbose] > │ and method23 (v0 : UH5, v1 : UH5) : UH5 = │
00:00:22 #613 [Verbose] > │ match v0 with │
00:00:22 #614 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #615 [Verbose] > │ let v5 : UH5 = UH5_0(v2, v3, v1) │
00:00:22 #616 [Verbose] > │ method23(v4, v5) │
00:00:22 #617 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:22 #618 [Verbose] > │ v1 │
00:00:22 #619 [Verbose] > │ and method25 (v0 : UH5, v1 : int32) : int32 = │
00:00:22 #620 [Verbose] > │ match v0 with │
00:00:22 #621 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #622 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:22 #623 [Verbose] > │ method25(v4, v5) │
00:00:22 #624 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:22 #625 [Verbose] > │ v1 │
00:00:22 #626 [Verbose] > │ and method26 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : int32) : │
00:00:22 #627 [Verbose] > │ int32 = │
00:00:22 #628 [Verbose] > │ match v1 with │
00:00:22 #629 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:22 #630 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:22 #631 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:22 #632 [Verbose] > │ method26(v0, v5, v6) │
00:00:22 #633 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:22 #634 [Verbose] > │ v2 │
00:00:22 #635 [Verbose] > │ and method24 (v0 : UH5) : (struct (int32 * int64) []) = │
00:00:22 #636 [Verbose] > │ let v1 : int32 = 0 │
00:00:22 #637 [Verbose] > │ let v2 : int32 = method25(v0, v1) │
00:00:22 #638 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:22 #639 [Verbose] > │ int64)> (v2) │
00:00:22 #640 [Verbose] > │ let v4 : int32 = 0 │
00:00:22 #641 [Verbose] > │ let v5 : int32 = method26(v3, v0, v4) │
00:00:22 #642 [Verbose] > │ v3 │
00:00:22 #643 [Verbose] > │ and method27 (v0 : UH2, v1 : UH6, v2 : int32) : struct (UH6 * int32) = │
00:00:22 #644 [Verbose] > │ match v0 with │
00:00:22 #645 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:22 #646 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:22 #647 [Verbose] > │ let v6 : UH6 = UH6_0(v2, v3, v1) │
00:00:22 #648 [Verbose] > │ method27(v4, v6, v5) │
00:00:22 #649 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:22 #650 [Verbose] > │ struct (v1, v2) │
00:00:22 #651 [Verbose] > │ and method28 (v0 : UH6, v1 : UH6) : UH6 = │
00:00:22 #652 [Verbose] > │ match v0 with │
00:00:22 #653 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #654 [Verbose] > │ let v5 : UH6 = UH6_0(v2, v3, v1) │
00:00:22 #655 [Verbose] > │ method28(v4, v5) │
00:00:22 #656 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:22 #657 [Verbose] > │ v1 │
00:00:22 #658 [Verbose] > │ and method29 (v0 : Map<int32, int64>, v1 : UH6, v2 : UH2) : UH2 = │
00:00:22 #659 [Verbose] > │ match v1 with │
00:00:22 #660 [Verbose] > │ | UH6_0(v3, v4, v5) -> (* Cons *) │
00:00:22 #661 [Verbose] > │ let v6 : UH2 = method29(v0, v5, v2) │
00:00:22 #662 [Verbose] > │ let v7 : int64 = v0.[v3] │
00:00:22 #663 [Verbose] > │ let v8 : int32 = int32 v7 │
00:00:22 #664 [Verbose] > │ let v9 : string = v4.PadRight v8 │
00:00:22 #665 [Verbose] > │ UH2_0(v9, v6) │
00:00:22 #666 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:22 #667 [Verbose] > │ v2 │
00:00:22 #668 [Verbose] > │ and method31 (v0 : UH2, v1 : int32) : int32 = │
00:00:22 #669 [Verbose] > │ match v0 with │
00:00:22 #670 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:22 #671 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:22 #672 [Verbose] > │ method31(v3, v4) │
00:00:22 #673 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:22 #674 [Verbose] > │ v1 │
00:00:22 #675 [Verbose] > │ and method32 (v0 : (string []), v1 : UH2, v2 : int32) : int32 = │
00:00:22 #676 [Verbose] > │ match v1 with │
00:00:22 #677 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:22 #678 [Verbose] > │ v0.[int v2] <- v3 │
00:00:22 #679 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:22 #680 [Verbose] > │ method32(v0, v4, v5) │
00:00:22 #681 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:22 #682 [Verbose] > │ v2 │
00:00:22 #683 [Verbose] > │ and method30 (v0 : UH2) : (string []) = │
00:00:22 #684 [Verbose] > │ let v1 : int32 = 0 │
00:00:22 #685 [Verbose] > │ let v2 : int32 = method31(v0, v1) │
00:00:22 #686 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> (v2) │
00:00:22 #687 [Verbose] > │ let v4 : int32 = 0 │
00:00:22 #688 [Verbose] > │ let v5 : int32 = method32(v3, v0, v4) │
00:00:22 #689 [Verbose] > │ v3 │
00:00:22 #690 [Verbose] > │ and method34 (v0 : UH5, v1 : uint64) : uint64 = │
00:00:22 #691 [Verbose] > │ match v0 with │
00:00:22 #692 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:22 #693 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:22 #694 [Verbose] > │ method34(v4, v5) │
00:00:22 #695 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:22 #696 [Verbose] > │ v1 │
00:00:22 #697 [Verbose] > │ and method35 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : uint64) : │
00:00:22 #698 [Verbose] > │ uint64 = │
00:00:22 #699 [Verbose] > │ match v1 with │
00:00:22 #700 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:22 #701 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:22 #702 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:22 #703 [Verbose] > │ method35(v0, v5, v6) │
00:00:22 #704 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:22 #705 [Verbose] > │ v2 │
00:00:22 #706 [Verbose] > │ and method33 (v0 : UH5) : (struct (int32 * int64) []) = │
00:00:22 #707 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:22 #708 [Verbose] > │ let v2 : uint64 = method34(v0, v1) │
00:00:22 #709 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:22 #710 [Verbose] > │ int64)> (System.Convert.ToInt32(v2)) │
00:00:22 #711 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:22 #712 [Verbose] > │ let v5 : uint64 = method35(v3, v0, v4) │
00:00:22 #713 [Verbose] > │ v3 │
00:00:22 #714 [Verbose] > │ and closure6 () struct (v0 : int32, v1 : int64) : int64 = │
00:00:22 #715 [Verbose] > │ v1 │
00:00:22 #716 [Verbose] > │ and closure0 () () : unit = │
00:00:22 #717 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:22 #718 [Verbose] > │ let v1 : string = nameof v0 │
00:00:22 #719 [Verbose] > │ let v2 : string = "" │
00:00:22 #720 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #721 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #722 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:22 #723 [Verbose] > │ System.Console.WriteLine v3 │
00:00:22 #724 [Verbose] > │ let v4 : string = "a" │
00:00:22 #725 [Verbose] > │ let v5 : string = "b" │
00:00:22 #726 [Verbose] > │ let v6 : UH0 = UH0_1 │
00:00:22 #727 [Verbose] > │ let v7 : UH0 = UH0_0(v5, v5, v5, v6) │
00:00:22 #728 [Verbose] > │ let v8 : UH0 = UH0_0(v4, v4, v4, v7) │
00:00:22 #729 [Verbose] > │ let v9 : (struct (string * string * string) []) = method1(v8) │
00:00:22 #730 [Verbose] > │ let v10 : uint64 = System.Convert.ToUInt64 v9.Length │
00:00:22 #731 [Verbose] > │ let v11 : (struct (string * string * string * (int64 [])) []) = │
00:00:22 #732 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:22 #733 [Verbose] > │ (System.Convert.ToInt32(v10)) │
00:00:22 #734 [Verbose] > │ let v12 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #735 [Verbose] > │ while method4(v10, v12) do │
00:00:22 #736 [Verbose] > │ let v14 : uint64 = v12.l0 │
00:00:22 #737 [Verbose] > │ let struct (v15 : string, v16 : string, v17 : string) = v9.[int v14] │
00:00:22 #738 [Verbose] > │ let v18 : string = $"%A{struct (v15, v16)}" │
00:00:22 #739 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #740 [Verbose] > │ let v19 : string = $"Solution: {v18} " │
00:00:22 #741 [Verbose] > │ System.Console.WriteLine v19 │
00:00:22 #742 [Verbose] > │ let v20 : int32 = 0 │
00:00:22 #743 [Verbose] > │ let v21 : string = "A" │
00:00:22 #744 [Verbose] > │ let v22 : (struct (string * string) -> string) = closure1() │
00:00:22 #745 [Verbose] > │ let v23 : int32 = 1 │
00:00:22 #746 [Verbose] > │ let v24 : string = "B" │
00:00:22 #747 [Verbose] > │ let v25 : (struct (string * string) -> string) = closure2() │
00:00:22 #748 [Verbose] > │ let v26 : UH1 = UH1_1 │
00:00:22 #749 [Verbose] > │ let v27 : UH1 = UH1_0(v23, v24, v25, v26) │
00:00:22 #750 [Verbose] > │ let v28 : UH1 = UH1_0(v20, v21, v22, v27) │
00:00:22 #751 [Verbose] > │ let v29 : (struct (int32 * string * (struct (string * string) -> │
00:00:22 #752 [Verbose] > │ string)) []) = method5(v28) │
00:00:22 #753 [Verbose] > │ let v30 : uint64 = System.Convert.ToUInt64 v29.Length │
00:00:22 #754 [Verbose] > │ let v31 : (struct (string * int64) []) = Array.zeroCreate<struct │
00:00:22 #755 [Verbose] > │ (string * int64)> (System.Convert.ToInt32(v30)) │
00:00:22 #756 [Verbose] > │ let v32 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #757 [Verbose] > │ while method4(v30, v32) do │
00:00:22 #758 [Verbose] > │ let v34 : uint64 = v32.l0 │
00:00:22 #759 [Verbose] > │ let struct (v35 : int32, v36 : string, v37 : (struct (string * │
00:00:22 #760 [Verbose] > │ string) -> string)) = v29.[int v34] │
00:00:22 #761 [Verbose] > │ let mutable result = None │
00:00:22 #762 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:22 #763 [Verbose] > │ #if !WASM │
00:00:22 #764 [Verbose] > │ () │
00:00:22 #765 [Verbose] > │ #else │
00:00:22 #766 [Verbose] > │ () │
00:00:22 #767 [Verbose] > │ #endif │
00:00:22 #768 [Verbose] > │ #else │
00:00:22 #769 [Verbose] > │ System.GC.Collect () │
00:00:22 #770 [Verbose] > │ () │
00:00:22 #771 [Verbose] > │ #endif │
00:00:22 #772 [Verbose] > │ |> fun x -> result <- Some x │
00:00:22 #773 [Verbose] > │ result |> Option.get │
00:00:22 #774 [Verbose] > │ let v38 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:22 #775 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:22 #776 [Verbose] > │ let v39 : System.Diagnostics.Stopwatch = v38 () │
00:00:22 #777 [Verbose] > │ v39.Start () │
00:00:22 #778 [Verbose] > │ let v40 : int64 = v39.ElapsedMilliseconds │
00:00:22 #779 [Verbose] > │ let v41 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:22 #780 [Verbose] > │ let v42 : Mut1 = {l0 = 0} : Mut1 │
00:00:22 #781 [Verbose] > │ while method8(v42) do │
00:00:22 #782 [Verbose] > │ let v44 : int32 = v42.l0 │
00:00:22 #783 [Verbose] > │ v41.[int v44] <- v44 │
00:00:22 #784 [Verbose] > │ let v45 : int32 = v44 + 1 │
00:00:22 #785 [Verbose] > │ v42.l0 <- v45 │
00:00:22 #786 [Verbose] > │ () │
00:00:22 #787 [Verbose] > │ let v46 : (int32 -> string) = closure3(v15, v16, v37) │
00:00:22 #788 [Verbose] > │ let v47 : (string []) = v41 |> Array.Parallel.map v46 │
00:00:22 #789 [Verbose] > │ let v48 : int32 = v47.Length │
00:00:22 #790 [Verbose] > │ let v49 : int32 = v48 - 1 │
00:00:22 #791 [Verbose] > │ let v50 : string = v47.[int v49] │
00:00:22 #792 [Verbose] > │ let v51 : int64 = v39.ElapsedMilliseconds │
00:00:22 #793 [Verbose] > │ let v52 : int64 = v51 - v40 │
00:00:22 #794 [Verbose] > │ let v53 : string = $"Test case {v35 + 1}. {v36}. Time: {v52} " │
00:00:22 #795 [Verbose] > │ System.Console.WriteLine v53 │
00:00:22 #796 [Verbose] > │ v31.[int v34] <- struct (v50, v52) │
00:00:22 #797 [Verbose] > │ let v54 : uint64 = v34 + 1UL │
00:00:22 #798 [Verbose] > │ v32.l0 <- v54 │
00:00:22 #799 [Verbose] > │ () │
00:00:22 #800 [Verbose] > │ let v55 : uint64 = System.Convert.ToUInt64 v31.Length │
00:00:22 #801 [Verbose] > │ let v56 : (string []) = Array.zeroCreate<string> │
00:00:22 #802 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #803 [Verbose] > │ let v57 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #804 [Verbose] > │ while method4(v55, v57) do │
00:00:22 #805 [Verbose] > │ let v59 : uint64 = v57.l0 │
00:00:22 #806 [Verbose] > │ let struct (v60 : string, v61 : int64) = v31.[int v59] │
00:00:22 #807 [Verbose] > │ v56.[int v59] <- v60 │
00:00:22 #808 [Verbose] > │ let v62 : uint64 = v59 + 1UL │
00:00:22 #809 [Verbose] > │ v57.l0 <- v62 │
00:00:22 #810 [Verbose] > │ () │
00:00:22 #811 [Verbose] > │ let v63 : uint64 = System.Convert.ToUInt64 v56.Length │
00:00:22 #812 [Verbose] > │ let v64 : bool = v63 <= 1UL │
00:00:22 #813 [Verbose] > │ if v64 then │
00:00:22 #814 [Verbose] > │ () │
00:00:22 #815 [Verbose] > │ else │
00:00:22 #816 [Verbose] > │ let v65 : string = v56.[int 0UL] │
00:00:22 #817 [Verbose] > │ let v66 : uint64 = 0UL │
00:00:22 #818 [Verbose] > │ let v67 : bool = method9(v65, v56, v66) │
00:00:22 #819 [Verbose] > │ if v67 then │
00:00:22 #820 [Verbose] > │ () │
00:00:22 #821 [Verbose] > │ else │
00:00:22 #822 [Verbose] > │ let v68 : string = $"Challenge error: {v56}" │
00:00:22 #823 [Verbose] > │ failwith<unit> v68 │
00:00:22 #824 [Verbose] > │ let v69 : string = $"%A{v17}" │
00:00:22 #825 [Verbose] > │ let v70 : (string []) = Array.zeroCreate<string> │
00:00:22 #826 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #827 [Verbose] > │ let v71 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #828 [Verbose] > │ while method4(v55, v71) do │
00:00:22 #829 [Verbose] > │ let v73 : uint64 = v71.l0 │
00:00:22 #830 [Verbose] > │ let struct (v74 : string, v75 : int64) = v31.[int v73] │
00:00:22 #831 [Verbose] > │ v70.[int v73] <- v74 │
00:00:22 #832 [Verbose] > │ let v76 : uint64 = v73 + 1UL │
00:00:22 #833 [Verbose] > │ v71.l0 <- v76 │
00:00:22 #834 [Verbose] > │ () │
00:00:22 #835 [Verbose] > │ let v77 : string = v70.[int 0UL] │
00:00:22 #836 [Verbose] > │ let v78 : string = $"%A{v77}" │
00:00:22 #837 [Verbose] > │ let v79 : (int64 []) = Array.zeroCreate<int64> │
00:00:22 #838 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #839 [Verbose] > │ let v80 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #840 [Verbose] > │ while method4(v55, v80) do │
00:00:22 #841 [Verbose] > │ let v82 : uint64 = v80.l0 │
00:00:22 #842 [Verbose] > │ let struct (v83 : string, v84 : int64) = v31.[int v82] │
00:00:22 #843 [Verbose] > │ v79.[int v82] <- v84 │
00:00:22 #844 [Verbose] > │ let v85 : uint64 = v82 + 1UL │
00:00:22 #845 [Verbose] > │ v80.l0 <- v85 │
00:00:22 #846 [Verbose] > │ () │
00:00:22 #847 [Verbose] > │ v11.[int v14] <- struct (v69, v18, v78, v79) │
00:00:22 #848 [Verbose] > │ let v86 : uint64 = v14 + 1UL │
00:00:22 #849 [Verbose] > │ v12.l0 <- v86 │
00:00:22 #850 [Verbose] > │ () │
00:00:22 #851 [Verbose] > │ let v87 : uint64 = System.Convert.ToUInt64 v11.Length │
00:00:22 #852 [Verbose] > │ let v88 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:22 #853 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:22 #854 [Verbose] > │ let v89 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #855 [Verbose] > │ while method4(v87, v89) do │
00:00:22 #856 [Verbose] > │ let v91 : uint64 = v89.l0 │
00:00:22 #857 [Verbose] > │ let struct (v92 : string, v93 : string, v94 : string, v95 : (int64 [ │
00:00:22 #858 [Verbose] > │ ])) = v11.[int v91] │
00:00:22 #859 [Verbose] > │ let v96 : uint64 = System.Convert.ToUInt64 v95.Length │
00:00:22 #860 [Verbose] > │ let v97 : UH3 = UH3_1 │
00:00:22 #861 [Verbose] > │ let v98 : Mut2 = {l0 = 0UL; l1 = v97; l2 = 0L} : Mut2 │
00:00:22 #862 [Verbose] > │ while method10(v96, v98) do │
00:00:22 #863 [Verbose] > │ let v100 : uint64 = v98.l0 │
00:00:22 #864 [Verbose] > │ let struct (v101 : UH3, v102 : int64) = v98.l1, v98.l2 │
00:00:22 #865 [Verbose] > │ let v103 : int64 = v95.[int v100] │
00:00:22 #866 [Verbose] > │ let v104 : int64 = v102 + 1L │
00:00:22 #867 [Verbose] > │ let v105 : uint64 = v100 + 1UL │
00:00:22 #868 [Verbose] > │ let v106 : UH3 = UH3_0(v102, v103, v101) │
00:00:22 #869 [Verbose] > │ v98.l0 <- v105 │
00:00:22 #870 [Verbose] > │ v98.l1 <- v106 │
00:00:22 #871 [Verbose] > │ v98.l2 <- v104 │
00:00:22 #872 [Verbose] > │ () │
00:00:22 #873 [Verbose] > │ let struct (v107 : UH3, v108 : int64) = v98.l1, v98.l2 │
00:00:22 #874 [Verbose] > │ let v109 : UH3 = UH3_1 │
00:00:22 #875 [Verbose] > │ let v110 : UH3 = method11(v107, v109) │
00:00:22 #876 [Verbose] > │ let v111 : (struct (int64 * int64) []) = method12(v110) │
00:00:22 #877 [Verbose] > │ let v112 : int32 = v111.Length │
00:00:22 #878 [Verbose] > │ let v113 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:22 #879 [Verbose] > │ (int64 * int64)> (v112) │
00:00:22 #880 [Verbose] > │ let v114 : Mut1 = {l0 = 0} : Mut1 │
00:00:22 #881 [Verbose] > │ while method15(v112, v114) do │
00:00:22 #882 [Verbose] > │ let v116 : int32 = v114.l0 │
00:00:22 #883 [Verbose] > │ let struct (v117 : int64, v118 : int64) = v111.[int v116] │
00:00:22 #884 [Verbose] > │ let v119 : int64 = v117 + 1L │
00:00:22 #885 [Verbose] > │ v113.[int v116] <- struct (v119, v118) │
00:00:22 #886 [Verbose] > │ let v120 : int32 = v116 + 1 │
00:00:22 #887 [Verbose] > │ v114.l0 <- v120 │
00:00:22 #888 [Verbose] > │ () │
00:00:22 #889 [Verbose] > │ let v121 : (struct (int64 * int64) -> int64) = closure4() │
00:00:22 #890 [Verbose] > │ let v122 : (struct (int64 * int64) []) = v113 |> Array.sortBy v121 │
00:00:22 #891 [Verbose] > │ let struct (v123 : int64, v124 : int64) = v122.[int 0] │
00:00:22 #892 [Verbose] > │ let v125 : string = $"%A{struct (v123, v124)}" │
00:00:22 #893 [Verbose] > │ let v126 : bool = v92 = v94 │
00:00:22 #894 [Verbose] > │ let v131 : US0 = │
00:00:22 #895 [Verbose] > │ if v126 then │
00:00:22 #896 [Verbose] > │ let v127 : System.ConsoleColor = │
00:00:22 #897 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:22 #898 [Verbose] > │ US0_1(v127) │
00:00:22 #899 [Verbose] > │ else │
00:00:22 #900 [Verbose] > │ let v129 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:22 #901 [Verbose] > │ US0_1(v129) │
00:00:22 #902 [Verbose] > │ let v132 : UH2 = UH2_1 │
00:00:22 #903 [Verbose] > │ let v133 : UH2 = UH2_0(v125, v132) │
00:00:22 #904 [Verbose] > │ let v134 : UH2 = UH2_0(v94, v133) │
00:00:22 #905 [Verbose] > │ let v135 : UH2 = UH2_0(v92, v134) │
00:00:22 #906 [Verbose] > │ let v136 : UH2 = UH2_0(v93, v135) │
00:00:22 #907 [Verbose] > │ v88.[int v91] <- struct (v136, v131) │
00:00:22 #908 [Verbose] > │ let v137 : uint64 = v91 + 1UL │
00:00:22 #909 [Verbose] > │ v89.l0 <- v137 │
00:00:22 #910 [Verbose] > │ () │
00:00:22 #911 [Verbose] > │ let v138 : string = "Input" │
00:00:22 #912 [Verbose] > │ let v139 : string = "Expected" │
00:00:22 #913 [Verbose] > │ let v140 : string = "Result" │
00:00:22 #914 [Verbose] > │ let v141 : string = "Best" │
00:00:22 #915 [Verbose] > │ let v142 : UH2 = UH2_1 │
00:00:22 #916 [Verbose] > │ let v143 : UH2 = UH2_0(v141, v142) │
00:00:22 #917 [Verbose] > │ let v144 : UH2 = UH2_0(v140, v143) │
00:00:22 #918 [Verbose] > │ let v145 : UH2 = UH2_0(v139, v144) │
00:00:22 #919 [Verbose] > │ let v146 : UH2 = UH2_0(v138, v145) │
00:00:22 #920 [Verbose] > │ let v147 : US0 = US0_0 │
00:00:22 #921 [Verbose] > │ let v148 : string = "---" │
00:00:22 #922 [Verbose] > │ let v149 : UH2 = UH2_1 │
00:00:22 #923 [Verbose] > │ let v150 : UH2 = UH2_0(v148, v149) │
00:00:22 #924 [Verbose] > │ let v151 : UH2 = UH2_0(v148, v150) │
00:00:22 #925 [Verbose] > │ let v152 : UH2 = UH2_0(v148, v151) │
00:00:22 #926 [Verbose] > │ let v153 : UH2 = UH2_0(v148, v152) │
00:00:22 #927 [Verbose] > │ let v154 : US0 = US0_0 │
00:00:22 #928 [Verbose] > │ let v155 : UH4 = UH4_1 │
00:00:22 #929 [Verbose] > │ let v156 : UH4 = UH4_0(v153, v154, v155) │
00:00:22 #930 [Verbose] > │ let v157 : UH4 = UH4_0(v146, v147, v156) │
00:00:22 #931 [Verbose] > │ let v158 : (struct (UH2 * US0) []) = method16(v157) │
00:00:22 #932 [Verbose] > │ let v159 : uint64 = System.Convert.ToUInt64 v158.Length │
00:00:22 #933 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v88.Length │
00:00:22 #934 [Verbose] > │ let v161 : uint64 = v159 + v160 │
00:00:22 #935 [Verbose] > │ let v162 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:22 #936 [Verbose] > │ US0)> (System.Convert.ToInt32(v161)) │
00:00:22 #937 [Verbose] > │ let v163 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #938 [Verbose] > │ while method4(v161, v163) do │
00:00:22 #939 [Verbose] > │ let v165 : uint64 = v163.l0 │
00:00:22 #940 [Verbose] > │ let v166 : bool = v165 < v159 │
00:00:22 #941 [Verbose] > │ let struct (v172 : UH2, v173 : US0) = │
00:00:22 #942 [Verbose] > │ if v166 then │
00:00:22 #943 [Verbose] > │ let struct (v167 : UH2, v168 : US0) = v158.[int v165] │
00:00:22 #944 [Verbose] > │ struct (v167, v168) │
00:00:22 #945 [Verbose] > │ else │
00:00:22 #946 [Verbose] > │ let v169 : uint64 = v165 - v159 │
00:00:22 #947 [Verbose] > │ let struct (v170 : UH2, v171 : US0) = v88.[int v169] │
00:00:22 #948 [Verbose] > │ struct (v170, v171) │
00:00:22 #949 [Verbose] > │ v162.[int v165] <- struct (v172, v173) │
00:00:22 #950 [Verbose] > │ let v174 : uint64 = v165 + 1UL │
00:00:22 #951 [Verbose] > │ v163.l0 <- v174 │
00:00:22 #952 [Verbose] > │ () │
00:00:22 #953 [Verbose] > │ let v175 : uint64 = System.Convert.ToUInt64 v162.Length │
00:00:22 #954 [Verbose] > │ let v176 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:22 #955 [Verbose] > │ (System.Convert.ToInt32(v175)) │
00:00:22 #956 [Verbose] > │ let v177 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #957 [Verbose] > │ while method4(v175, v177) do │
00:00:22 #958 [Verbose] > │ let v179 : uint64 = v177.l0 │
00:00:22 #959 [Verbose] > │ let struct (v180 : UH2, v181 : US0) = v162.[int v179] │
00:00:22 #960 [Verbose] > │ let v182 : (string []) = method19(v180) │
00:00:22 #961 [Verbose] > │ v176.[int v179] <- v182 │
00:00:22 #962 [Verbose] > │ let v183 : uint64 = v179 + 1UL │
00:00:22 #963 [Verbose] > │ v177.l0 <- v183 │
00:00:22 #964 [Verbose] > │ () │
00:00:22 #965 [Verbose] > │ let v184 : ((string []) []) = v176 |> Array.transpose │
00:00:22 #966 [Verbose] > │ let v185 : uint64 = System.Convert.ToUInt64 v184.Length │
00:00:22 #967 [Verbose] > │ let v186 : (int64 []) = Array.zeroCreate<int64> │
00:00:22 #968 [Verbose] > │ (System.Convert.ToInt32(v185)) │
00:00:22 #969 [Verbose] > │ let v187 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #970 [Verbose] > │ while method4(v185, v187) do │
00:00:22 #971 [Verbose] > │ let v189 : uint64 = v187.l0 │
00:00:22 #972 [Verbose] > │ let v190 : (string []) = v184.[int v189] │
00:00:22 #973 [Verbose] > │ let v191 : uint64 = System.Convert.ToUInt64 v190.Length │
00:00:22 #974 [Verbose] > │ let v192 : (int64 []) = Array.zeroCreate<int64> │
00:00:22 #975 [Verbose] > │ (System.Convert.ToInt32(v191)) │
00:00:22 #976 [Verbose] > │ let v193 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #977 [Verbose] > │ while method4(v191, v193) do │
00:00:22 #978 [Verbose] > │ let v195 : uint64 = v193.l0 │
00:00:22 #979 [Verbose] > │ let v196 : string = v190.[int v195] │
00:00:22 #980 [Verbose] > │ let v197 : int64 = System.Convert.ToInt64 v196.Length │
00:00:22 #981 [Verbose] > │ v192.[int v195] <- v197 │
00:00:22 #982 [Verbose] > │ let v198 : uint64 = v195 + 1UL │
00:00:22 #983 [Verbose] > │ v193.l0 <- v198 │
00:00:22 #984 [Verbose] > │ () │
00:00:22 #985 [Verbose] > │ let v199 : (int64 []) = v192 |> Array.sortDescending │
00:00:22 #986 [Verbose] > │ let v200 : int64 option = v199 |> Array.tryItem 0 │
00:00:22 #987 [Verbose] > │ let v201 : (int64 -> US1) = closure5() │
00:00:22 #988 [Verbose] > │ let v202 : US1 = US1_0 │
00:00:22 #989 [Verbose] > │ let v203 : US1 = v200 |> Option.map v201 |> Option.defaultValue v202 │
00:00:22 #990 [Verbose] > │ let v206 : int64 = │
00:00:22 #991 [Verbose] > │ match v203 with │
00:00:22 #992 [Verbose] > │ | US1_0 -> (* None *) │
00:00:22 #993 [Verbose] > │ 0L │
00:00:22 #994 [Verbose] > │ | US1_1(v204) -> (* Some *) │
00:00:22 #995 [Verbose] > │ v204 │
00:00:22 #996 [Verbose] > │ v186.[int v189] <- v206 │
00:00:22 #997 [Verbose] > │ let v207 : uint64 = v189 + 1UL │
00:00:22 #998 [Verbose] > │ v187.l0 <- v207 │
00:00:22 #999 [Verbose] > │ () │
00:00:22 #1000 [Verbose] > │ let v208 : uint64 = System.Convert.ToUInt64 v186.Length │
00:00:22 #1001 [Verbose] > │ let v209 : UH5 = UH5_1 │
00:00:22 #1002 [Verbose] > │ let v210 : Mut3 = {l0 = 0UL; l1 = v209; l2 = 0} : Mut3 │
00:00:22 #1003 [Verbose] > │ while method22(v208, v210) do │
00:00:22 #1004 [Verbose] > │ let v212 : uint64 = v210.l0 │
00:00:22 #1005 [Verbose] > │ let struct (v213 : UH5, v214 : int32) = v210.l1, v210.l2 │
00:00:22 #1006 [Verbose] > │ let v215 : int64 = v186.[int v212] │
00:00:22 #1007 [Verbose] > │ let v216 : int32 = v214 + 1 │
00:00:22 #1008 [Verbose] > │ let v217 : uint64 = v212 + 1UL │
00:00:22 #1009 [Verbose] > │ let v218 : UH5 = UH5_0(v214, v215, v213) │
00:00:22 #1010 [Verbose] > │ v210.l0 <- v217 │
00:00:22 #1011 [Verbose] > │ v210.l1 <- v218 │
00:00:22 #1012 [Verbose] > │ v210.l2 <- v216 │
00:00:22 #1013 [Verbose] > │ () │
00:00:22 #1014 [Verbose] > │ let struct (v219 : UH5, v220 : int32) = v210.l1, v210.l2 │
00:00:22 #1015 [Verbose] > │ let v221 : UH5 = UH5_1 │
00:00:22 #1016 [Verbose] > │ let v222 : UH5 = method23(v219, v221) │
00:00:22 #1017 [Verbose] > │ let v223 : (struct (int32 * int64) []) = method24(v222) │
00:00:22 #1018 [Verbose] > │ let v224 : Map<int32, int64> = v223 |> Array.map (fun (struct (a, b)) -> │
00:00:22 #1019 [Verbose] > │ a, b) |> Map.ofArray │
00:00:22 #1020 [Verbose] > │ let v225 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:22 #1021 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v175)) │
00:00:22 #1022 [Verbose] > │ let v226 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1023 [Verbose] > │ while method4(v175, v226) do │
00:00:22 #1024 [Verbose] > │ let v228 : uint64 = v226.l0 │
00:00:22 #1025 [Verbose] > │ let struct (v229 : UH2, v230 : US0) = v162.[int v228] │
00:00:22 #1026 [Verbose] > │ let v231 : UH6 = UH6_1 │
00:00:22 #1027 [Verbose] > │ let v232 : int32 = 0 │
00:00:22 #1028 [Verbose] > │ let struct (v233 : UH6, v234 : int32) = method27(v229, v231, v232) │
00:00:22 #1029 [Verbose] > │ let v235 : UH6 = UH6_1 │
00:00:22 #1030 [Verbose] > │ let v236 : UH6 = method28(v233, v235) │
00:00:22 #1031 [Verbose] > │ let v237 : UH2 = UH2_1 │
00:00:22 #1032 [Verbose] > │ let v238 : UH2 = method29(v224, v236, v237) │
00:00:22 #1033 [Verbose] > │ let v239 : (string []) = method30(v238) │
00:00:22 #1034 [Verbose] > │ v225.[int v228] <- struct (v239, v230) │
00:00:22 #1035 [Verbose] > │ let v240 : uint64 = v228 + 1UL │
00:00:22 #1036 [Verbose] > │ v226.l0 <- v240 │
00:00:22 #1037 [Verbose] > │ () │
00:00:22 #1038 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #1039 [Verbose] > │ let v241 : uint64 = System.Convert.ToUInt64 v225.Length │
00:00:22 #1040 [Verbose] > │ let v242 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1041 [Verbose] > │ while method4(v241, v242) do │
00:00:22 #1042 [Verbose] > │ let v244 : uint64 = v242.l0 │
00:00:22 #1043 [Verbose] > │ let struct (v245 : (string []), v246 : US0) = v225.[int v244] │
00:00:22 #1044 [Verbose] > │ match v246 with │
00:00:22 #1045 [Verbose] > │ | US0_0 -> (* None *) │
00:00:22 #1046 [Verbose] > │ let mutable result = None │
00:00:22 #1047 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:22 #1048 [Verbose] > │ #if !WASM │
00:00:22 #1049 [Verbose] > │ () │
00:00:22 #1050 [Verbose] > │ #else │
00:00:22 #1051 [Verbose] > │ () │
00:00:22 #1052 [Verbose] > │ #endif │
00:00:22 #1053 [Verbose] > │ #else │
00:00:22 #1054 [Verbose] > │ System.Console.ResetColor () │
00:00:22 #1055 [Verbose] > │ () │
00:00:22 #1056 [Verbose] > │ #endif │
00:00:22 #1057 [Verbose] > │ |> fun x -> result <- Some x │
00:00:22 #1058 [Verbose] > │ result |> Option.get │
00:00:22 #1059 [Verbose] > │ () │
00:00:22 #1060 [Verbose] > │ | US0_1(v247) -> (* Some *) │
00:00:22 #1061 [Verbose] > │ let mutable result = None │
00:00:22 #1062 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:22 #1063 [Verbose] > │ #if !WASM │
00:00:22 #1064 [Verbose] > │ () │
00:00:22 #1065 [Verbose] > │ #else │
00:00:22 #1066 [Verbose] > │ () │
00:00:22 #1067 [Verbose] > │ #endif │
00:00:22 #1068 [Verbose] > │ #else │
00:00:22 #1069 [Verbose] > │ System.Console.ForegroundColor <- v247 │
00:00:22 #1070 [Verbose] > │ () │
00:00:22 #1071 [Verbose] > │ #endif │
00:00:22 #1072 [Verbose] > │ |> fun x -> result <- Some x │
00:00:22 #1073 [Verbose] > │ result |> Option.get │
00:00:22 #1074 [Verbose] > │ () │
00:00:22 #1075 [Verbose] > │ let v248 : string = "\t| " │
00:00:22 #1076 [Verbose] > │ let v249 : string = System.String.Join (v248, v245) │
00:00:22 #1077 [Verbose] > │ System.Console.WriteLine v249 │
00:00:22 #1078 [Verbose] > │ let mutable result = None │
00:00:22 #1079 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:22 #1080 [Verbose] > │ #if !WASM │
00:00:22 #1081 [Verbose] > │ () │
00:00:22 #1082 [Verbose] > │ #else │
00:00:22 #1083 [Verbose] > │ () │
00:00:22 #1084 [Verbose] > │ #endif │
00:00:22 #1085 [Verbose] > │ #else │
00:00:22 #1086 [Verbose] > │ System.Console.ResetColor () │
00:00:22 #1087 [Verbose] > │ () │
00:00:22 #1088 [Verbose] > │ #endif │
00:00:22 #1089 [Verbose] > │ |> fun x -> result <- Some x │
00:00:22 #1090 [Verbose] > │ result |> Option.get │
00:00:22 #1091 [Verbose] > │ let v250 : uint64 = v244 + 1UL │
00:00:22 #1092 [Verbose] > │ v242.l0 <- v250 │
00:00:22 #1093 [Verbose] > │ () │
00:00:22 #1094 [Verbose] > │ let v251 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:22 #1095 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:22 #1096 [Verbose] > │ let v252 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1097 [Verbose] > │ while method4(v87, v252) do │
00:00:22 #1098 [Verbose] > │ let v254 : uint64 = v252.l0 │
00:00:22 #1099 [Verbose] > │ let struct (v255 : string, v256 : string, v257 : string, v258 : │
00:00:22 #1100 [Verbose] > │ (int64 [])) = v11.[int v254] │
00:00:22 #1101 [Verbose] > │ let v259 : (int64 -> float) = float │
00:00:22 #1102 [Verbose] > │ let v260 : uint64 = System.Convert.ToUInt64 v258.Length │
00:00:22 #1103 [Verbose] > │ let v261 : (float []) = Array.zeroCreate<float> │
00:00:22 #1104 [Verbose] > │ (System.Convert.ToInt32(v260)) │
00:00:22 #1105 [Verbose] > │ let v262 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1106 [Verbose] > │ while method4(v260, v262) do │
00:00:22 #1107 [Verbose] > │ let v264 : uint64 = v262.l0 │
00:00:22 #1108 [Verbose] > │ let v265 : int64 = v258.[int v264] │
00:00:22 #1109 [Verbose] > │ let v266 : float = v259 v265 │
00:00:22 #1110 [Verbose] > │ v261.[int v264] <- v266 │
00:00:22 #1111 [Verbose] > │ let v267 : uint64 = v264 + 1UL │
00:00:22 #1112 [Verbose] > │ v262.l0 <- v267 │
00:00:22 #1113 [Verbose] > │ () │
00:00:22 #1114 [Verbose] > │ v251.[int v254] <- v261 │
00:00:22 #1115 [Verbose] > │ let v268 : uint64 = v254 + 1UL │
00:00:22 #1116 [Verbose] > │ v252.l0 <- v268 │
00:00:22 #1117 [Verbose] > │ () │
00:00:22 #1118 [Verbose] > │ let v269 : ((float []) []) = v251 |> Array.transpose │
00:00:22 #1119 [Verbose] > │ let v270 : uint64 = System.Convert.ToUInt64 v269.Length │
00:00:22 #1120 [Verbose] > │ let v271 : (float []) = Array.zeroCreate<float> │
00:00:22 #1121 [Verbose] > │ (System.Convert.ToInt32(v270)) │
00:00:22 #1122 [Verbose] > │ let v272 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1123 [Verbose] > │ while method4(v270, v272) do │
00:00:22 #1124 [Verbose] > │ let v274 : uint64 = v272.l0 │
00:00:22 #1125 [Verbose] > │ let v275 : (float []) = v269.[int v274] │
00:00:22 #1126 [Verbose] > │ let v276 : float = v275 |> Array.average │
00:00:22 #1127 [Verbose] > │ v271.[int v274] <- v276 │
00:00:22 #1128 [Verbose] > │ let v277 : uint64 = v274 + 1UL │
00:00:22 #1129 [Verbose] > │ v272.l0 <- v277 │
00:00:22 #1130 [Verbose] > │ () │
00:00:22 #1131 [Verbose] > │ let v278 : (float -> int64) = int64 │
00:00:22 #1132 [Verbose] > │ let v279 : uint64 = System.Convert.ToUInt64 v271.Length │
00:00:22 #1133 [Verbose] > │ let v280 : (int64 []) = Array.zeroCreate<int64> │
00:00:22 #1134 [Verbose] > │ (System.Convert.ToInt32(v279)) │
00:00:22 #1135 [Verbose] > │ let v281 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1136 [Verbose] > │ while method4(v279, v281) do │
00:00:22 #1137 [Verbose] > │ let v283 : uint64 = v281.l0 │
00:00:22 #1138 [Verbose] > │ let v284 : float = v271.[int v283] │
00:00:22 #1139 [Verbose] > │ let v285 : int64 = v278 v284 │
00:00:22 #1140 [Verbose] > │ v280.[int v283] <- v285 │
00:00:22 #1141 [Verbose] > │ let v286 : uint64 = v283 + 1UL │
00:00:22 #1142 [Verbose] > │ v281.l0 <- v286 │
00:00:22 #1143 [Verbose] > │ () │
00:00:22 #1144 [Verbose] > │ let v287 : uint64 = System.Convert.ToUInt64 v280.Length │
00:00:22 #1145 [Verbose] > │ let v288 : UH5 = UH5_1 │
00:00:22 #1146 [Verbose] > │ let v289 : Mut3 = {l0 = 0UL; l1 = v288; l2 = 0} : Mut3 │
00:00:22 #1147 [Verbose] > │ while method22(v287, v289) do │
00:00:22 #1148 [Verbose] > │ let v291 : uint64 = v289.l0 │
00:00:22 #1149 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v289.l1, v289.l2 │
00:00:22 #1150 [Verbose] > │ let v294 : int64 = v280.[int v291] │
00:00:22 #1151 [Verbose] > │ let v295 : int32 = v293 + 1 │
00:00:22 #1152 [Verbose] > │ let v296 : uint64 = v291 + 1UL │
00:00:22 #1153 [Verbose] > │ let v297 : UH5 = UH5_0(v293, v294, v292) │
00:00:22 #1154 [Verbose] > │ v289.l0 <- v296 │
00:00:22 #1155 [Verbose] > │ v289.l1 <- v297 │
00:00:22 #1156 [Verbose] > │ v289.l2 <- v295 │
00:00:22 #1157 [Verbose] > │ () │
00:00:22 #1158 [Verbose] > │ let struct (v298 : UH5, v299 : int32) = v289.l1, v289.l2 │
00:00:22 #1159 [Verbose] > │ let v300 : UH5 = UH5_1 │
00:00:22 #1160 [Verbose] > │ let v301 : UH5 = method23(v298, v300) │
00:00:22 #1161 [Verbose] > │ let v302 : (struct (int32 * int64) []) = method33(v301) │
00:00:22 #1162 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #1163 [Verbose] > │ let v303 : string = "Average Ranking " │
00:00:22 #1164 [Verbose] > │ System.Console.WriteLine v303 │
00:00:22 #1165 [Verbose] > │ let v304 : (struct (int32 * int64) -> int64) = closure6() │
00:00:22 #1166 [Verbose] > │ let v305 : (struct (int32 * int64) []) = v302 |> Array.sortBy v304 │
00:00:22 #1167 [Verbose] > │ let v306 : uint64 = System.Convert.ToUInt64 v305.Length │
00:00:22 #1168 [Verbose] > │ let v307 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1169 [Verbose] > │ while method4(v306, v307) do │
00:00:22 #1170 [Verbose] > │ let v309 : uint64 = v307.l0 │
00:00:22 #1171 [Verbose] > │ let struct (v310 : int32, v311 : int64) = v305.[int v309] │
00:00:22 #1172 [Verbose] > │ let v312 : string = $"Test case %d{v310 + 1}. Average Time: %A{v311} │
00:00:22 #1173 [Verbose] > │ " │
00:00:22 #1174 [Verbose] > │ System.Console.WriteLine v312 │
00:00:22 #1175 [Verbose] > │ let v313 : uint64 = v309 + 1UL │
00:00:22 #1176 [Verbose] > │ v307.l0 <- v313 │
00:00:22 #1177 [Verbose] > │ () │
00:00:22 #1178 [Verbose] > │ () │
00:00:22 #1179 [Verbose] > │ and method0 () : unit = │
00:00:22 #1180 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:22 #1181 [Verbose] > │ let v1 : string = nameof v0 │
00:00:22 #1182 [Verbose] > │ let v2 : string = "" │
00:00:22 #1183 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #1184 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #1185 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:22 #1186 [Verbose] > │ System.Console.WriteLine v3 │
00:00:22 #1187 [Verbose] > │ let v4 : string = "a" │
00:00:22 #1188 [Verbose] > │ let v5 : string = "b" │
00:00:22 #1189 [Verbose] > │ let v6 : UH0 = UH0_1 │
00:00:22 #1190 [Verbose] > │ let v7 : UH0 = UH0_0(v5, v5, v5, v6) │
00:00:22 #1191 [Verbose] > │ let v8 : UH0 = UH0_0(v4, v4, v4, v7) │
00:00:22 #1192 [Verbose] > │ let v9 : (struct (string * string * string) []) = method1(v8) │
00:00:22 #1193 [Verbose] > │ let v10 : uint64 = System.Convert.ToUInt64 v9.Length │
00:00:22 #1194 [Verbose] > │ let v11 : (struct (string * string * string * (int64 [])) []) = │
00:00:22 #1195 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:22 #1196 [Verbose] > │ (System.Convert.ToInt32(v10)) │
00:00:22 #1197 [Verbose] > │ let v12 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1198 [Verbose] > │ while method4(v10, v12) do │
00:00:22 #1199 [Verbose] > │ let v14 : uint64 = v12.l0 │
00:00:22 #1200 [Verbose] > │ let struct (v15 : string, v16 : string, v17 : string) = v9.[int v14] │
00:00:22 #1201 [Verbose] > │ let v18 : string = $"%A{struct (v15, v16)}" │
00:00:22 #1202 [Verbose] > │ System.Console.WriteLine v2 │
00:00:22 #1203 [Verbose] > │ let v19 : string = $"Solution: {v18} " │
00:00:22 #1204 [Verbose] > │ System.Console.WriteLine v19 │
00:00:22 #1205 [Verbose] > │ let v20 : int32 = 0 │
00:00:22 #1206 [Verbose] > │ let v21 : string = "A" │
00:00:22 #1207 [Verbose] > │ let v22 : (struct (string * string) -> string) = closure1() │
00:00:22 #1208 [Verbose] > │ let v23 : int32 = 1 │
00:00:22 #1209 [Verbose] > │ let v24 : string = "B" │
00:00:22 #1210 [Verbose] > │ let v25 : (struct (string * string) -> string) = closure2() │
00:00:22 #1211 [Verbose] > │ let v26 : UH1 = UH1_1 │
00:00:22 #1212 [Verbose] > │ let v27 : UH1 = UH1_0(v23, v24, v25, v26) │
00:00:22 #1213 [Verbose] > │ let v28 : UH1 = UH1_0(v20, v21, v22, v27) │
00:00:22 #1214 [Verbose] > │ let v29 : (struct (int32 * string * (struct (string * string) -> │
00:00:22 #1215 [Verbose] > │ string)) []) = method5(v28) │
00:00:22 #1216 [Verbose] > │ let v30 : uint64 = System.Convert.ToUInt64 v29.Length │
00:00:22 #1217 [Verbose] > │ let v31 : (struct (string * int64) []) = Array.zeroCreate<struct │
00:00:22 #1218 [Verbose] > │ (string * int64)> (System.Convert.ToInt32(v30)) │
00:00:22 #1219 [Verbose] > │ let v32 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1220 [Verbose] > │ while method4(v30, v32) do │
00:00:22 #1221 [Verbose] > │ let v34 : uint64 = v32.l0 │
00:00:22 #1222 [Verbose] > │ let struct (v35 : int32, v36 : string, v37 : (struct (string * │
00:00:22 #1223 [Verbose] > │ string) -> string)) = v29.[int v34] │
00:00:22 #1224 [Verbose] > │ let mutable result = None │
00:00:22 #1225 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:22 #1226 [Verbose] > │ #if !WASM │
00:00:22 #1227 [Verbose] > │ () │
00:00:22 #1228 [Verbose] > │ #else │
00:00:22 #1229 [Verbose] > │ () │
00:00:22 #1230 [Verbose] > │ #endif │
00:00:22 #1231 [Verbose] > │ #else │
00:00:22 #1232 [Verbose] > │ System.GC.Collect () │
00:00:22 #1233 [Verbose] > │ () │
00:00:22 #1234 [Verbose] > │ #endif │
00:00:22 #1235 [Verbose] > │ |> fun x -> result <- Some x │
00:00:22 #1236 [Verbose] > │ result |> Option.get │
00:00:22 #1237 [Verbose] > │ let v38 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:22 #1238 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:22 #1239 [Verbose] > │ let v39 : System.Diagnostics.Stopwatch = v38 () │
00:00:22 #1240 [Verbose] > │ v39.Start () │
00:00:22 #1241 [Verbose] > │ let v40 : int64 = v39.ElapsedMilliseconds │
00:00:22 #1242 [Verbose] > │ let v41 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:22 #1243 [Verbose] > │ let v42 : Mut1 = {l0 = 0} : Mut1 │
00:00:22 #1244 [Verbose] > │ while method8(v42) do │
00:00:22 #1245 [Verbose] > │ let v44 : int32 = v42.l0 │
00:00:22 #1246 [Verbose] > │ v41.[int v44] <- v44 │
00:00:22 #1247 [Verbose] > │ let v45 : int32 = v44 + 1 │
00:00:22 #1248 [Verbose] > │ v42.l0 <- v45 │
00:00:22 #1249 [Verbose] > │ () │
00:00:22 #1250 [Verbose] > │ let v46 : (int32 -> string) = closure3(v15, v16, v37) │
00:00:22 #1251 [Verbose] > │ let v47 : (string []) = v41 |> Array.Parallel.map v46 │
00:00:22 #1252 [Verbose] > │ let v48 : int32 = v47.Length │
00:00:22 #1253 [Verbose] > │ let v49 : int32 = v48 - 1 │
00:00:22 #1254 [Verbose] > │ let v50 : string = v47.[int v49] │
00:00:22 #1255 [Verbose] > │ let v51 : int64 = v39.ElapsedMilliseconds │
00:00:22 #1256 [Verbose] > │ let v52 : int64 = v51 - v40 │
00:00:22 #1257 [Verbose] > │ let v53 : string = $"Test case {v35 + 1}. {v36}. Time: {v52} " │
00:00:22 #1258 [Verbose] > │ System.Console.WriteLine v53 │
00:00:22 #1259 [Verbose] > │ v31.[int v34] <- struct (v50, v52) │
00:00:22 #1260 [Verbose] > │ let v54 : uint64 = v34 + 1UL │
00:00:22 #1261 [Verbose] > │ v32.l0 <- v54 │
00:00:22 #1262 [Verbose] > │ () │
00:00:22 #1263 [Verbose] > │ let v55 : uint64 = System.Convert.ToUInt64 v31.Length │
00:00:22 #1264 [Verbose] > │ let v56 : (string []) = Array.zeroCreate<string> │
00:00:22 #1265 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #1266 [Verbose] > │ let v57 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1267 [Verbose] > │ while method4(v55, v57) do │
00:00:22 #1268 [Verbose] > │ let v59 : uint64 = v57.l0 │
00:00:22 #1269 [Verbose] > │ let struct (v60 : string, v61 : int64) = v31.[int v59] │
00:00:22 #1270 [Verbose] > │ v56.[int v59] <- v60 │
00:00:22 #1271 [Verbose] > │ let v62 : uint64 = v59 + 1UL │
00:00:22 #1272 [Verbose] > │ v57.l0 <- v62 │
00:00:22 #1273 [Verbose] > │ () │
00:00:22 #1274 [Verbose] > │ let v63 : uint64 = System.Convert.ToUInt64 v56.Length │
00:00:22 #1275 [Verbose] > │ let v64 : bool = v63 <= 1UL │
00:00:22 #1276 [Verbose] > │ if v64 then │
00:00:22 #1277 [Verbose] > │ () │
00:00:22 #1278 [Verbose] > │ else │
00:00:22 #1279 [Verbose] > │ let v65 : string = v56.[int 0UL] │
00:00:22 #1280 [Verbose] > │ let v66 : uint64 = 0UL │
00:00:22 #1281 [Verbose] > │ let v67 : bool = method9(v65, v56, v66) │
00:00:22 #1282 [Verbose] > │ if v67 then │
00:00:22 #1283 [Verbose] > │ () │
00:00:22 #1284 [Verbose] > │ else │
00:00:22 #1285 [Verbose] > │ let v68 : string = $"Challenge error: {v56}" │
00:00:22 #1286 [Verbose] > │ failwith<unit> v68 │
00:00:22 #1287 [Verbose] > │ let v69 : string = $"%A{v17}" │
00:00:22 #1288 [Verbose] > │ let v70 : (string []) = Array.zeroCreate<string> │
00:00:22 #1289 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #1290 [Verbose] > │ let v71 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1291 [Verbose] > │ while method4(v55, v71) do │
00:00:22 #1292 [Verbose] > │ let v73 : uint64 = v71.l0 │
00:00:22 #1293 [Verbose] > │ let struct (v74 : string, v75 : int64) = v31.[int v73] │
00:00:22 #1294 [Verbose] > │ v70.[int v73] <- v74 │
00:00:22 #1295 [Verbose] > │ let v76 : uint64 = v73 + 1UL │
00:00:22 #1296 [Verbose] > │ v71.l0 <- v76 │
00:00:22 #1297 [Verbose] > │ () │
00:00:22 #1298 [Verbose] > │ let v77 : string = v70.[int 0UL] │
00:00:22 #1299 [Verbose] > │ let v78 : string = $"%A{v77}" │
00:00:22 #1300 [Verbose] > │ let v79 : (int64 []) = Array.zeroCreate<int64> │
00:00:22 #1301 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:22 #1302 [Verbose] > │ let v80 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1303 [Verbose] > │ while method4(v55, v80) do │
00:00:22 #1304 [Verbose] > │ let v82 : uint64 = v80.l0 │
00:00:22 #1305 [Verbose] > │ let struct (v83 : string, v84 : int64) = v31.[int v82] │
00:00:22 #1306 [Verbose] > │ v79.[int v82] <- v84 │
00:00:22 #1307 [Verbose] > │ let v85 : uint64 = v82 + 1UL │
00:00:22 #1308 [Verbose] > │ v80.l0 <- v85 │
00:00:22 #1309 [Verbose] > │ () │
00:00:22 #1310 [Verbose] > │ v11.[int v14] <- struct (v69, v18, v78, v79) │
00:00:22 #1311 [Verbose] > │ let v86 : uint64 = v14 + 1UL │
00:00:22 #1312 [Verbose] > │ v12.l0 <- v86 │
00:00:22 #1313 [Verbose] > │ () │
00:00:22 #1314 [Verbose] > │ let v87 : uint64 = System.Convert.ToUInt64 v11.Length │
00:00:22 #1315 [Verbose] > │ let v88 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:22 #1316 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:22 #1317 [Verbose] > │ let v89 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:22 #1318 [Verbose] > │ while method4(v87, v89) do │
00:00:22 #1319 [Verbose] > │ let v91 : uint64 = v89.l0 │
00:00:22 #1320 [Verbose] > │ let struct (v92 : string, v93 : string, v94 : string, v95 : (int64 [ │
00:00:22 #1321 [Verbose] > │ ])) = v11.[int v91] │
00:00:22 #1322 [Verbose] > │ let v96 : uint64 = System.Convert.ToUInt64 v95.Length │
00:00:22 #1323 [Verbose] > │ let v97 : UH3 = UH3_1 │
00:00:22 #1324 [Verbose] > │ let v98 : Mut2 = {l0 = 0UL; l1 = v97; l2 = 0L} : Mut2 │
00:00:22 #1325 [Verbose] > │ while method10(v96, v98) do │
00:00:22 #1326 [Verbose] > │ let v100 : uint64 = v98.l0 │
00:00:22 #1327 [Verbose] > │ let struct (v101 : UH3, v102 : int64) = v98.l1, v98.l2 │
00:00:22 #1328 [Verbose] > │ let v103 : int64 = v95.[int v100] │
00:00:22 #1329 [Verbose] > │ let v104 : int64 = v102 + 1L │
00:00:22 #1330 [Verbose] > │ let v105 : uint64 = v100 + 1UL │
00:00:22 #1331 [Verbose] > │ let v106 : UH3 = UH3_0(v102, v103, v101) │
00:00:22 #1332 [Verbose] > │ v98.l0 <- v105 │
00:00:22 #1333 [Verbose] > │ v98.l1 <- v106 │
00:00:22 #1334 [Verbose] > │ v98.l2 <- v104 │
00:00:22 #1335 [Verbose] > │ () │
00:00:22 #1336 [Verbose] > │ let struct (v107 : UH3, v108 : int64) = v98.l1, v98.l2 │
00:00:22 #1337 [Verbose] > │ let v109 : UH3 = UH3_1 │
00:00:22 #1338 [Verbose] > │ let v110 : UH3 = method11(v107, v109) │
00:00:22 #1339 [Verbose] > │ let v111 : (struct (int64 * int64) []) = method12(v110) │
00:00:22 #1340 [Verbose] > │ let v112 : int32 = v111.Length │
00:00:22 #1341 [Verbose] > │ let v113 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:22 #1342 [Verbose] > │ (int64 * int64)> (v112) │
00:00:22 #1343 [Verbose] > │ let v114 : Mut1 = {l0 = 0} : Mut1 │
00:00:22 #1344 [Verbose] > │ while method15(v112, v114) do │
00:00:22 #1345 [Verbose] > │ let v116 : int32 = v114.l0 │
00:00:22 #1346 [Verbose] > │ let struct (v117 : int64, v118 : int64) = v111.[int v116] │
00:00:22 #1347 [Verbose] > │ let v119 : int64 = v117 + 1L │
00:00:22 #1348 [Verbose] > │ v113.[int v116] <- struct (v119, v118) │
00:00:22 #1349 [Verbose] > │ let v120 : int32 = v116 + 1 │
00:00:22 #1350 [Verbose] > │ v114.l0 <- v120 │
00:00:22 #1351 [Verbose] > │ () │
00:00:22 #1352 [Verbose] > │ let v121 : (struct (int64 * int64) -> int64) = closure4() │
00:00:22 #1353 [Verbose] > │ let v122 : (struct (int64 * int64) []) = v113 |> Array.sortBy v121 │
00:00:22 #1354 [Verbose] > │ let struct (v123 : int64, v124 : int64) = v122.[int 0] │
00:00:22 #1355 [Verbose] > │ let v125 : string = $"%A{struct (v123, v124)}" │
00:00:22 #1356 [Verbose] > │ let v126 : bool = v92 = v94 │
00:00:22 #1357 [Verbose] > │ let v131 : US0 = │
00:00:22 #1358 [Verbose] > │ if v126 then │
00:00:22 #1359 [Verbose] > │ let v127 : System.ConsoleColor = │
00:00:22 #1360 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:22 #1361 [Verbose] > │ US0_1(v127) │
00:00:22 #1362 [Verbose] > │ else │
00:00:22 #1363 [Verbose] > │ let v129 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:22 #1364 [Verbose] > │ US0_1(v129) │
00:00:22 #1365 [Verbose] > │ let v132 : UH2 = UH2_1 │
00:00:22 #1366 [Verbose] > │ let v133 : UH2 = UH2_0(v125, v132) │
00:00:22 #1367 [Verbose] > │ let v134 : UH2 = UH2_0(v94, v133) │
00:00:22 #1368 [Verbose] > │ let v135 : UH2 = UH2_0(v92, v134) │
00:00:22 #1369 [Verbose] > │ let v136 : UH2 = UH2_0(v93, v135) │
00:00:22 #1370 [Verbose] > │ v88.[int v91] <- struct (v136, v131) │
00:00:22 #1371 [Verbose] > │ let v137 : uint64 = v91 + 1UL │
00:00:22 #1372 [Verbose] > │ v89.l0 <- v137 │
00:00:22 #1373 [Verbose] > │ () │
00:00:22 #1374 [Verbose] > │ let v138 : string = "Input" │
00:00:22 #1375 [Verbose] > │ let v139 : string = "Expected" │
00:00:22 #1376 [Verbose] > │ let v140 : string = "Result" │
00:00:22 #1377 [Verbose] > │ let v141 : string = "Best" │
00:00:22 #1378 [Verbose] > │ let v142 : UH2 = UH2_1 │
00:00:22 #1379 [Verbose] > │ let v143 : UH2 = UH2_0(v141, v142) │
00:00:22 #1380 [Verbose] > │ let v144 : UH2 = UH2_0(v140, v143) │
00:00:22 #1381 [Verbose] > │ let v145 : UH2 = UH2_0(v139, v144) │
00:00:22 #1382 [Verbose] > │ let v146 : UH2 = UH2_0(v138, v145) │
00:00:22 #1383 [Verbose] > │ let v147 : US0 = US0_0 │
00:00:22 #1384 [Verbose] > │ let v148 : string = "---" │
00:00:22 #1385 [Verbose] > │ let v149 : UH2 = UH2_1 │
00:00:22 #1386 [Verbose] > │ let v150 : UH2 = UH2_0(v148, v149) │
00:00:22 #1387 [Verbose] > │ let v151 : UH2 = UH2_0(v148, v150) │
00:00:22 #1388 [Verbose] > │ let v152 : UH2 = UH2_0(v148, v151) │
00:00:23 #1389 [Verbose] > │ let v153 : UH2 = UH2_0(v148, v152) │
00:00:23 #1390 [Verbose] > │ let v154 : US0 = US0_0 │
00:00:23 #1391 [Verbose] > │ let v155 : UH4 = UH4_1 │
00:00:23 #1392 [Verbose] > │ let v156 : UH4 = UH4_0(v153, v154, v155) │
00:00:23 #1393 [Verbose] > │ let v157 : UH4 = UH4_0(v146, v147, v156) │
00:00:23 #1394 [Verbose] > │ let v158 : (struct (UH2 * US0) []) = method16(v157) │
00:00:23 #1395 [Verbose] > │ let v159 : uint64 = System.Convert.ToUInt64 v158.Length │
00:00:23 #1396 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v88.Length │
00:00:23 #1397 [Verbose] > │ let v161 : uint64 = v159 + v160 │
00:00:23 #1398 [Verbose] > │ let v162 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:23 #1399 [Verbose] > │ US0)> (System.Convert.ToInt32(v161)) │
00:00:23 #1400 [Verbose] > │ let v163 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1401 [Verbose] > │ while method4(v161, v163) do │
00:00:23 #1402 [Verbose] > │ let v165 : uint64 = v163.l0 │
00:00:23 #1403 [Verbose] > │ let v166 : bool = v165 < v159 │
00:00:23 #1404 [Verbose] > │ let struct (v172 : UH2, v173 : US0) = │
00:00:23 #1405 [Verbose] > │ if v166 then │
00:00:23 #1406 [Verbose] > │ let struct (v167 : UH2, v168 : US0) = v158.[int v165] │
00:00:23 #1407 [Verbose] > │ struct (v167, v168) │
00:00:23 #1408 [Verbose] > │ else │
00:00:23 #1409 [Verbose] > │ let v169 : uint64 = v165 - v159 │
00:00:23 #1410 [Verbose] > │ let struct (v170 : UH2, v171 : US0) = v88.[int v169] │
00:00:23 #1411 [Verbose] > │ struct (v170, v171) │
00:00:23 #1412 [Verbose] > │ v162.[int v165] <- struct (v172, v173) │
00:00:23 #1413 [Verbose] > │ let v174 : uint64 = v165 + 1UL │
00:00:23 #1414 [Verbose] > │ v163.l0 <- v174 │
00:00:23 #1415 [Verbose] > │ () │
00:00:23 #1416 [Verbose] > │ let v175 : uint64 = System.Convert.ToUInt64 v162.Length │
00:00:23 #1417 [Verbose] > │ let v176 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:23 #1418 [Verbose] > │ (System.Convert.ToInt32(v175)) │
00:00:23 #1419 [Verbose] > │ let v177 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1420 [Verbose] > │ while method4(v175, v177) do │
00:00:23 #1421 [Verbose] > │ let v179 : uint64 = v177.l0 │
00:00:23 #1422 [Verbose] > │ let struct (v180 : UH2, v181 : US0) = v162.[int v179] │
00:00:23 #1423 [Verbose] > │ let v182 : (string []) = method19(v180) │
00:00:23 #1424 [Verbose] > │ v176.[int v179] <- v182 │
00:00:23 #1425 [Verbose] > │ let v183 : uint64 = v179 + 1UL │
00:00:23 #1426 [Verbose] > │ v177.l0 <- v183 │
00:00:23 #1427 [Verbose] > │ () │
00:00:23 #1428 [Verbose] > │ let v184 : ((string []) []) = v176 |> Array.transpose │
00:00:23 #1429 [Verbose] > │ let v185 : uint64 = System.Convert.ToUInt64 v184.Length │
00:00:23 #1430 [Verbose] > │ let v186 : (int64 []) = Array.zeroCreate<int64> │
00:00:23 #1431 [Verbose] > │ (System.Convert.ToInt32(v185)) │
00:00:23 #1432 [Verbose] > │ let v187 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1433 [Verbose] > │ while method4(v185, v187) do │
00:00:23 #1434 [Verbose] > │ let v189 : uint64 = v187.l0 │
00:00:23 #1435 [Verbose] > │ let v190 : (string []) = v184.[int v189] │
00:00:23 #1436 [Verbose] > │ let v191 : uint64 = System.Convert.ToUInt64 v190.Length │
00:00:23 #1437 [Verbose] > │ let v192 : (int64 []) = Array.zeroCreate<int64> │
00:00:23 #1438 [Verbose] > │ (System.Convert.ToInt32(v191)) │
00:00:23 #1439 [Verbose] > │ let v193 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1440 [Verbose] > │ while method4(v191, v193) do │
00:00:23 #1441 [Verbose] > │ let v195 : uint64 = v193.l0 │
00:00:23 #1442 [Verbose] > │ let v196 : string = v190.[int v195] │
00:00:23 #1443 [Verbose] > │ let v197 : int64 = System.Convert.ToInt64 v196.Length │
00:00:23 #1444 [Verbose] > │ v192.[int v195] <- v197 │
00:00:23 #1445 [Verbose] > │ let v198 : uint64 = v195 + 1UL │
00:00:23 #1446 [Verbose] > │ v193.l0 <- v198 │
00:00:23 #1447 [Verbose] > │ () │
00:00:23 #1448 [Verbose] > │ let v199 : (int64 []) = v192 |> Array.sortDescending │
00:00:23 #1449 [Verbose] > │ let v200 : int64 option = v199 |> Array.tryItem 0 │
00:00:23 #1450 [Verbose] > │ let v201 : (int64 -> US1) = closure5() │
00:00:23 #1451 [Verbose] > │ let v202 : US1 = US1_0 │
00:00:23 #1452 [Verbose] > │ let v203 : US1 = v200 |> Option.map v201 |> Option.defaultValue v202 │
00:00:23 #1453 [Verbose] > │ let v206 : int64 = │
00:00:23 #1454 [Verbose] > │ match v203 with │
00:00:23 #1455 [Verbose] > │ | US1_0 -> (* None *) │
00:00:23 #1456 [Verbose] > │ 0L │
00:00:23 #1457 [Verbose] > │ | US1_1(v204) -> (* Some *) │
00:00:23 #1458 [Verbose] > │ v204 │
00:00:23 #1459 [Verbose] > │ v186.[int v189] <- v206 │
00:00:23 #1460 [Verbose] > │ let v207 : uint64 = v189 + 1UL │
00:00:23 #1461 [Verbose] > │ v187.l0 <- v207 │
00:00:23 #1462 [Verbose] > │ () │
00:00:23 #1463 [Verbose] > │ let v208 : uint64 = System.Convert.ToUInt64 v186.Length │
00:00:23 #1464 [Verbose] > │ let v209 : UH5 = UH5_1 │
00:00:23 #1465 [Verbose] > │ let v210 : Mut3 = {l0 = 0UL; l1 = v209; l2 = 0} : Mut3 │
00:00:23 #1466 [Verbose] > │ while method22(v208, v210) do │
00:00:23 #1467 [Verbose] > │ let v212 : uint64 = v210.l0 │
00:00:23 #1468 [Verbose] > │ let struct (v213 : UH5, v214 : int32) = v210.l1, v210.l2 │
00:00:23 #1469 [Verbose] > │ let v215 : int64 = v186.[int v212] │
00:00:23 #1470 [Verbose] > │ let v216 : int32 = v214 + 1 │
00:00:23 #1471 [Verbose] > │ let v217 : uint64 = v212 + 1UL │
00:00:23 #1472 [Verbose] > │ let v218 : UH5 = UH5_0(v214, v215, v213) │
00:00:23 #1473 [Verbose] > │ v210.l0 <- v217 │
00:00:23 #1474 [Verbose] > │ v210.l1 <- v218 │
00:00:23 #1475 [Verbose] > │ v210.l2 <- v216 │
00:00:23 #1476 [Verbose] > │ () │
00:00:23 #1477 [Verbose] > │ let struct (v219 : UH5, v220 : int32) = v210.l1, v210.l2 │
00:00:23 #1478 [Verbose] > │ let v221 : UH5 = UH5_1 │
00:00:23 #1479 [Verbose] > │ let v222 : UH5 = method23(v219, v221) │
00:00:23 #1480 [Verbose] > │ let v223 : (struct (int32 * int64) []) = method24(v222) │
00:00:23 #1481 [Verbose] > │ let v224 : Map<int32, int64> = v223 |> Array.map (fun (struct (a, b)) -> │
00:00:23 #1482 [Verbose] > │ a, b) |> Map.ofArray │
00:00:23 #1483 [Verbose] > │ let v225 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:23 #1484 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v175)) │
00:00:23 #1485 [Verbose] > │ let v226 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1486 [Verbose] > │ while method4(v175, v226) do │
00:00:23 #1487 [Verbose] > │ let v228 : uint64 = v226.l0 │
00:00:23 #1488 [Verbose] > │ let struct (v229 : UH2, v230 : US0) = v162.[int v228] │
00:00:23 #1489 [Verbose] > │ let v231 : UH6 = UH6_1 │
00:00:23 #1490 [Verbose] > │ let v232 : int32 = 0 │
00:00:23 #1491 [Verbose] > │ let struct (v233 : UH6, v234 : int32) = method27(v229, v231, v232) │
00:00:23 #1492 [Verbose] > │ let v235 : UH6 = UH6_1 │
00:00:23 #1493 [Verbose] > │ let v236 : UH6 = method28(v233, v235) │
00:00:23 #1494 [Verbose] > │ let v237 : UH2 = UH2_1 │
00:00:23 #1495 [Verbose] > │ let v238 : UH2 = method29(v224, v236, v237) │
00:00:23 #1496 [Verbose] > │ let v239 : (string []) = method30(v238) │
00:00:23 #1497 [Verbose] > │ v225.[int v228] <- struct (v239, v230) │
00:00:23 #1498 [Verbose] > │ let v240 : uint64 = v228 + 1UL │
00:00:23 #1499 [Verbose] > │ v226.l0 <- v240 │
00:00:23 #1500 [Verbose] > │ () │
00:00:23 #1501 [Verbose] > │ System.Console.WriteLine v2 │
00:00:23 #1502 [Verbose] > │ let v241 : uint64 = System.Convert.ToUInt64 v225.Length │
00:00:23 #1503 [Verbose] > │ let v242 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1504 [Verbose] > │ while method4(v241, v242) do │
00:00:23 #1505 [Verbose] > │ let v244 : uint64 = v242.l0 │
00:00:23 #1506 [Verbose] > │ let struct (v245 : (string []), v246 : US0) = v225.[int v244] │
00:00:23 #1507 [Verbose] > │ match v246 with │
00:00:23 #1508 [Verbose] > │ | US0_0 -> (* None *) │
00:00:23 #1509 [Verbose] > │ let mutable result = None │
00:00:23 #1510 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:23 #1511 [Verbose] > │ #if !WASM │
00:00:23 #1512 [Verbose] > │ () │
00:00:23 #1513 [Verbose] > │ #else │
00:00:23 #1514 [Verbose] > │ () │
00:00:23 #1515 [Verbose] > │ #endif │
00:00:23 #1516 [Verbose] > │ #else │
00:00:23 #1517 [Verbose] > │ System.Console.ResetColor () │
00:00:23 #1518 [Verbose] > │ () │
00:00:23 #1519 [Verbose] > │ #endif │
00:00:23 #1520 [Verbose] > │ |> fun x -> result <- Some x │
00:00:23 #1521 [Verbose] > │ result |> Option.get │
00:00:23 #1522 [Verbose] > │ () │
00:00:23 #1523 [Verbose] > │ | US0_1(v247) -> (* Some *) │
00:00:23 #1524 [Verbose] > │ let mutable result = None │
00:00:23 #1525 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:23 #1526 [Verbose] > │ #if !WASM │
00:00:23 #1527 [Verbose] > │ () │
00:00:23 #1528 [Verbose] > │ #else │
00:00:23 #1529 [Verbose] > │ () │
00:00:23 #1530 [Verbose] > │ #endif │
00:00:23 #1531 [Verbose] > │ #else │
00:00:23 #1532 [Verbose] > │ System.Console.ForegroundColor <- v247 │
00:00:23 #1533 [Verbose] > │ () │
00:00:23 #1534 [Verbose] > │ #endif │
00:00:23 #1535 [Verbose] > │ |> fun x -> result <- Some x │
00:00:23 #1536 [Verbose] > │ result |> Option.get │
00:00:23 #1537 [Verbose] > │ () │
00:00:23 #1538 [Verbose] > │ let v248 : string = "\t| " │
00:00:23 #1539 [Verbose] > │ let v249 : string = System.String.Join (v248, v245) │
00:00:23 #1540 [Verbose] > │ System.Console.WriteLine v249 │
00:00:23 #1541 [Verbose] > │ let mutable result = None │
00:00:23 #1542 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:23 #1543 [Verbose] > │ #if !WASM │
00:00:23 #1544 [Verbose] > │ () │
00:00:23 #1545 [Verbose] > │ #else │
00:00:23 #1546 [Verbose] > │ () │
00:00:23 #1547 [Verbose] > │ #endif │
00:00:23 #1548 [Verbose] > │ #else │
00:00:23 #1549 [Verbose] > │ System.Console.ResetColor () │
00:00:23 #1550 [Verbose] > │ () │
00:00:23 #1551 [Verbose] > │ #endif │
00:00:23 #1552 [Verbose] > │ |> fun x -> result <- Some x │
00:00:23 #1553 [Verbose] > │ result |> Option.get │
00:00:23 #1554 [Verbose] > │ let v250 : uint64 = v244 + 1UL │
00:00:23 #1555 [Verbose] > │ v242.l0 <- v250 │
00:00:23 #1556 [Verbose] > │ () │
00:00:23 #1557 [Verbose] > │ let v251 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:23 #1558 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:23 #1559 [Verbose] > │ let v252 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1560 [Verbose] > │ while method4(v87, v252) do │
00:00:23 #1561 [Verbose] > │ let v254 : uint64 = v252.l0 │
00:00:23 #1562 [Verbose] > │ let struct (v255 : string, v256 : string, v257 : string, v258 : │
00:00:23 #1563 [Verbose] > │ (int64 [])) = v11.[int v254] │
00:00:23 #1564 [Verbose] > │ let v259 : (int64 -> float) = float │
00:00:23 #1565 [Verbose] > │ let v260 : uint64 = System.Convert.ToUInt64 v258.Length │
00:00:23 #1566 [Verbose] > │ let v261 : (float []) = Array.zeroCreate<float> │
00:00:23 #1567 [Verbose] > │ (System.Convert.ToInt32(v260)) │
00:00:23 #1568 [Verbose] > │ let v262 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1569 [Verbose] > │ while method4(v260, v262) do │
00:00:23 #1570 [Verbose] > │ let v264 : uint64 = v262.l0 │
00:00:23 #1571 [Verbose] > │ let v265 : int64 = v258.[int v264] │
00:00:23 #1572 [Verbose] > │ let v266 : float = v259 v265 │
00:00:23 #1573 [Verbose] > │ v261.[int v264] <- v266 │
00:00:23 #1574 [Verbose] > │ let v267 : uint64 = v264 + 1UL │
00:00:23 #1575 [Verbose] > │ v262.l0 <- v267 │
00:00:23 #1576 [Verbose] > │ () │
00:00:23 #1577 [Verbose] > │ v251.[int v254] <- v261 │
00:00:23 #1578 [Verbose] > │ let v268 : uint64 = v254 + 1UL │
00:00:23 #1579 [Verbose] > │ v252.l0 <- v268 │
00:00:23 #1580 [Verbose] > │ () │
00:00:23 #1581 [Verbose] > │ let v269 : ((float []) []) = v251 |> Array.transpose │
00:00:23 #1582 [Verbose] > │ let v270 : uint64 = System.Convert.ToUInt64 v269.Length │
00:00:23 #1583 [Verbose] > │ let v271 : (float []) = Array.zeroCreate<float> │
00:00:23 #1584 [Verbose] > │ (System.Convert.ToInt32(v270)) │
00:00:23 #1585 [Verbose] > │ let v272 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1586 [Verbose] > │ while method4(v270, v272) do │
00:00:23 #1587 [Verbose] > │ let v274 : uint64 = v272.l0 │
00:00:23 #1588 [Verbose] > │ let v275 : (float []) = v269.[int v274] │
00:00:23 #1589 [Verbose] > │ let v276 : float = v275 |> Array.average │
00:00:23 #1590 [Verbose] > │ v271.[int v274] <- v276 │
00:00:23 #1591 [Verbose] > │ let v277 : uint64 = v274 + 1UL │
00:00:23 #1592 [Verbose] > │ v272.l0 <- v277 │
00:00:23 #1593 [Verbose] > │ () │
00:00:23 #1594 [Verbose] > │ let v278 : (float -> int64) = int64 │
00:00:23 #1595 [Verbose] > │ let v279 : uint64 = System.Convert.ToUInt64 v271.Length │
00:00:23 #1596 [Verbose] > │ let v280 : (int64 []) = Array.zeroCreate<int64> │
00:00:23 #1597 [Verbose] > │ (System.Convert.ToInt32(v279)) │
00:00:23 #1598 [Verbose] > │ let v281 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1599 [Verbose] > │ while method4(v279, v281) do │
00:00:23 #1600 [Verbose] > │ let v283 : uint64 = v281.l0 │
00:00:23 #1601 [Verbose] > │ let v284 : float = v271.[int v283] │
00:00:23 #1602 [Verbose] > │ let v285 : int64 = v278 v284 │
00:00:23 #1603 [Verbose] > │ v280.[int v283] <- v285 │
00:00:23 #1604 [Verbose] > │ let v286 : uint64 = v283 + 1UL │
00:00:23 #1605 [Verbose] > │ v281.l0 <- v286 │
00:00:23 #1606 [Verbose] > │ () │
00:00:23 #1607 [Verbose] > │ let v287 : uint64 = System.Convert.ToUInt64 v280.Length │
00:00:23 #1608 [Verbose] > │ let v288 : UH5 = UH5_1 │
00:00:23 #1609 [Verbose] > │ let v289 : Mut3 = {l0 = 0UL; l1 = v288; l2 = 0} : Mut3 │
00:00:23 #1610 [Verbose] > │ while method22(v287, v289) do │
00:00:23 #1611 [Verbose] > │ let v291 : uint64 = v289.l0 │
00:00:23 #1612 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v289.l1, v289.l2 │
00:00:23 #1613 [Verbose] > │ let v294 : int64 = v280.[int v291] │
00:00:23 #1614 [Verbose] > │ let v295 : int32 = v293 + 1 │
00:00:23 #1615 [Verbose] > │ let v296 : uint64 = v291 + 1UL │
00:00:23 #1616 [Verbose] > │ let v297 : UH5 = UH5_0(v293, v294, v292) │
00:00:23 #1617 [Verbose] > │ v289.l0 <- v296 │
00:00:23 #1618 [Verbose] > │ v289.l1 <- v297 │
00:00:23 #1619 [Verbose] > │ v289.l2 <- v295 │
00:00:23 #1620 [Verbose] > │ () │
00:00:23 #1621 [Verbose] > │ let struct (v298 : UH5, v299 : int32) = v289.l1, v289.l2 │
00:00:23 #1622 [Verbose] > │ let v300 : UH5 = UH5_1 │
00:00:23 #1623 [Verbose] > │ let v301 : UH5 = method23(v298, v300) │
00:00:23 #1624 [Verbose] > │ let v302 : (struct (int32 * int64) []) = method33(v301) │
00:00:23 #1625 [Verbose] > │ System.Console.WriteLine v2 │
00:00:23 #1626 [Verbose] > │ let v303 : string = "Average Ranking " │
00:00:23 #1627 [Verbose] > │ System.Console.WriteLine v303 │
00:00:23 #1628 [Verbose] > │ let v304 : (struct (int32 * int64) -> int64) = closure6() │
00:00:23 #1629 [Verbose] > │ let v305 : (struct (int32 * int64) []) = v302 |> Array.sortBy v304 │
00:00:23 #1630 [Verbose] > │ let v306 : uint64 = System.Convert.ToUInt64 v305.Length │
00:00:23 #1631 [Verbose] > │ let v307 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:23 #1632 [Verbose] > │ while method4(v306, v307) do │
00:00:23 #1633 [Verbose] > │ let v309 : uint64 = v307.l0 │
00:00:23 #1634 [Verbose] > │ let struct (v310 : int32, v311 : int64) = v305.[int v309] │
00:00:23 #1635 [Verbose] > │ let v312 : string = $"Test case %d{v310 + 1}. Average Time: %A{v311} │
00:00:23 #1636 [Verbose] > │ " │
00:00:23 #1637 [Verbose] > │ System.Console.WriteLine v312 │
00:00:23 #1638 [Verbose] > │ let v313 : uint64 = v309 + 1UL │
00:00:23 #1639 [Verbose] > │ v307.l0 <- v313 │
00:00:23 #1640 [Verbose] > │ () │
00:00:23 #1641 [Verbose] > │ () │
00:00:23 #1642 [Verbose] > │ method0() │
00:00:23 #1643 [Verbose] > │ │
00:00:23 #1644 [Verbose] > │ │
00:00:23 #1645 [Verbose] > │ │
00:00:23 #1646 [Verbose] > │ Test: v0 │
00:00:23 #1647 [Verbose] > │ │
00:00:23 #1648 [Verbose] > │ Solution: struct ("a", "a") │
00:00:23 #1649 [Verbose] > │ Test case 1. A. Time: 132 │
00:00:23 #1650 [Verbose] > │ Test case 2. B. Time: 110 │
00:00:23 #1651 [Verbose] > │ │
00:00:23 #1652 [Verbose] > │ Solution: struct ("b", "b") │
00:00:23 #1653 [Verbose] > │ Test case 1. A. Time: 117 │
00:00:23 #1654 [Verbose] > │ Test case 2. B. Time: 116 │
00:00:23 #1655 [Verbose] > │ │
00:00:23 #1656 [Verbose] > │ Input | Expected | Result | Best │
00:00:23 #1657 [Verbose] > │ --- | --- | --- | --- │
00:00:23 #1658 [Verbose] > │ struct ("a", "a") | "a" | "a" | struct (2L, 110L) │
00:00:23 #1659 [Verbose] > │ struct ("b", "b") | "b" | "b" | struct (2L, 116L) │
00:00:23 #1660 [Verbose] > │ │
00:00:23 #1661 [Verbose] > │ Average Ranking │
00:00:23 #1662 [Verbose] > │ Test case 2. Average Time: 113L │
00:00:23 #1663 [Verbose] > │ Test case 1. Average Time: 124L │
00:00:23 #1664 [Verbose] > │ │
00:00:23 #1665 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1666 [Verbose] >
00:00:23 #1667 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 #1668 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 #1669 [Verbose] > │ ## emptyTests │
00:00:23 #1670 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1671 [Verbose] >
00:00:23 #1672 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 #1673 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 #1674 [Verbose] > │ Test: Empty │
00:00:23 #1675 [Verbose] > │ │
00:00:23 #1676 [Verbose] > │ Solution: 0 │
00:00:23 #1677 [Verbose] > │ Test case 1. A. Time: 61L │
00:00:23 #1678 [Verbose] > │ │
00:00:23 #1679 [Verbose] > │ Solution: 2 │
00:00:23 #1680 [Verbose] > │ Test case 1. A. Time: 62L │
00:00:23 #1681 [Verbose] > │ │
00:00:23 #1682 [Verbose] > │ Solution: 5 │
00:00:23 #1683 [Verbose] > │ Test case 1. A. Time: 70L │
00:00:23 #1684 [Verbose] > │ │
00:00:23 #1685 [Verbose] > │ Input | Expected | Result | Best │
00:00:23 #1686 [Verbose] > │ --- | --- | --- | --- │
00:00:23 #1687 [Verbose] > │ 0 | 0 | 0 | (1, 61) │
00:00:23 #1688 [Verbose] > │ 2 | 2 | 2 | (1, 62) │
00:00:23 #1689 [Verbose] > │ 5 | 5 | 5 | (1, 70) │
00:00:23 #1690 [Verbose] > │ │
00:00:23 #1691 [Verbose] > │ Averages │
00:00:23 #1692 [Verbose] > │ Test case 1. Average Time: 64L │
00:00:23 #1693 [Verbose] > │ │
00:00:23 #1694 [Verbose] > │ Ranking │
00:00:23 #1695 [Verbose] > │ Test case 1. Average Time: 64L │
00:00:23 #1696 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1697 [Verbose] >
00:00:23 #1698 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1699 [Verbose] > // // test
00:00:23 #1700 [Verbose] >
00:00:23 #1701 [Verbose] > inl get_solutions () =
00:00:23 #1702 [Verbose] > [[
00:00:23 #1703 [Verbose] > "A",
00:00:23 #1704 [Verbose] > fun n =>
00:00:23 #1705 [Verbose] > n + 1f64
00:00:23 #1706 [Verbose] > ]]
00:00:23 #1707 [Verbose] >
00:00:23 #1708 [Verbose] > inl rec empty_1_tests () =
00:00:23 #1709 [Verbose] > inl test_cases = [[
00:00:23 #1710 [Verbose] > 0, 1
00:00:23 #1711 [Verbose] > 2, 3
00:00:23 #1712 [Verbose] > 5, 6
00:00:23 #1713 [Verbose] > ]]
00:00:23 #1714 [Verbose] >
00:00:23 #1715 [Verbose] > inl solutions = get_solutions ()
00:00:23 #1716 [Verbose] >
00:00:23 #1717 [Verbose] > // inl is_fast () = true
00:00:23 #1718 [Verbose] >
00:00:23 #1719 [Verbose] > inl count =
00:00:23 #1720 [Verbose] > if is_fast ()
00:00:23 #1721 [Verbose] > then 1000i32
00:00:23 #1722 [Verbose] > else 2000000i32
00:00:23 #1723 [Verbose] >
00:00:23 #1724 [Verbose] > run_all (nameof empty_1_tests) count solutions test_cases
00:00:23 #1725 [Verbose] > |> sort_result_list
00:00:23 #1726 [Verbose] >
00:00:23 #1727 [Verbose] > empty_1_tests ()
00:00:23 #1728 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-0846-4669-4dfc8c10c75a\main.spi
00:00:28 #1729 [Verbose] >
00:00:28 #1730 [Verbose] > ╭─[ 5.74s - stdout ]───────────────────────────────────────────────────────────╮
00:00:28 #1731 [Verbose] > │ type UH0 = │
00:00:28 #1732 [Verbose] > │ | UH0_0 of float * float * UH0 │
00:00:28 #1733 [Verbose] > │ | UH0_1 │
00:00:28 #1734 [Verbose] > │ and Mut0 = {mutable l0 : uint64} │
00:00:28 #1735 [Verbose] > │ and UH1 = │
00:00:28 #1736 [Verbose] > │ | UH1_0 of int32 * string * (float -> float) * UH1 │
00:00:28 #1737 [Verbose] > │ | UH1_1 │
00:00:28 #1738 [Verbose] > │ and Mut1 = {mutable l0 : int32} │
00:00:28 #1739 [Verbose] > │ and UH2 = │
00:00:28 #1740 [Verbose] > │ | UH2_0 of string * UH2 │
00:00:28 #1741 [Verbose] > │ | UH2_1 │
00:00:28 #1742 [Verbose] > │ and [<Struct>] US0 = │
00:00:28 #1743 [Verbose] > │ | US0_0 │
00:00:28 #1744 [Verbose] > │ | US0_1 of f1_0 : System.ConsoleColor │
00:00:28 #1745 [Verbose] > │ and UH3 = │
00:00:28 #1746 [Verbose] > │ | UH3_0 of int64 * int64 * UH3 │
00:00:28 #1747 [Verbose] > │ | UH3_1 │
00:00:28 #1748 [Verbose] > │ and Mut2 = {mutable l0 : uint64; mutable l1 : UH3; mutable l2 : int64} │
00:00:28 #1749 [Verbose] > │ and UH4 = │
00:00:28 #1750 [Verbose] > │ | UH4_0 of UH2 * US0 * UH4 │
00:00:28 #1751 [Verbose] > │ | UH4_1 │
00:00:28 #1752 [Verbose] > │ and [<Struct>] US1 = │
00:00:28 #1753 [Verbose] > │ | US1_0 │
00:00:28 #1754 [Verbose] > │ | US1_1 of f1_0 : int64 │
00:00:28 #1755 [Verbose] > │ and UH5 = │
00:00:28 #1756 [Verbose] > │ | UH5_0 of int32 * int64 * UH5 │
00:00:28 #1757 [Verbose] > │ | UH5_1 │
00:00:28 #1758 [Verbose] > │ and Mut3 = {mutable l0 : uint64; mutable l1 : UH5; mutable l2 : int32} │
00:00:28 #1759 [Verbose] > │ and UH6 = │
00:00:28 #1760 [Verbose] > │ | UH6_0 of int32 * string * UH6 │
00:00:28 #1761 [Verbose] > │ | UH6_1 │
00:00:28 #1762 [Verbose] > │ let rec method2 (v0 : UH0, v1 : uint64) : uint64 = │
00:00:28 #1763 [Verbose] > │ match v0 with │
00:00:28 #1764 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1765 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:28 #1766 [Verbose] > │ method2(v4, v5) │
00:00:28 #1767 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:28 #1768 [Verbose] > │ v1 │
00:00:28 #1769 [Verbose] > │ and method3 (v0 : (struct (float * float) []), v1 : UH0, v2 : uint64) : │
00:00:28 #1770 [Verbose] > │ uint64 = │
00:00:28 #1771 [Verbose] > │ match v1 with │
00:00:28 #1772 [Verbose] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
00:00:28 #1773 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:28 #1774 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:28 #1775 [Verbose] > │ method3(v0, v5, v6) │
00:00:28 #1776 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:28 #1777 [Verbose] > │ v2 │
00:00:28 #1778 [Verbose] > │ and method1 (v0 : UH0) : (struct (float * float) []) = │
00:00:28 #1779 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:28 #1780 [Verbose] > │ let v2 : uint64 = method2(v0, v1) │
00:00:28 #1781 [Verbose] > │ let v3 : (struct (float * float) []) = Array.zeroCreate<struct (float * │
00:00:28 #1782 [Verbose] > │ float)> (System.Convert.ToInt32(v2)) │
00:00:28 #1783 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:28 #1784 [Verbose] > │ let v5 : uint64 = method3(v3, v0, v4) │
00:00:28 #1785 [Verbose] > │ v3 │
00:00:28 #1786 [Verbose] > │ and method4 (v0 : uint64, v1 : Mut0) : bool = │
00:00:28 #1787 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:28 #1788 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:28 #1789 [Verbose] > │ v3 │
00:00:28 #1790 [Verbose] > │ and closure1 () (v0 : float) : float = │
00:00:28 #1791 [Verbose] > │ let v1 : float = v0 + 1.0 │
00:00:28 #1792 [Verbose] > │ v1 │
00:00:28 #1793 [Verbose] > │ and method6 (v0 : UH1, v1 : uint64) : uint64 = │
00:00:28 #1794 [Verbose] > │ match v0 with │
00:00:28 #1795 [Verbose] > │ | UH1_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:28 #1796 [Verbose] > │ let v6 : uint64 = v1 + 1UL │
00:00:28 #1797 [Verbose] > │ method6(v5, v6) │
00:00:28 #1798 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:28 #1799 [Verbose] > │ v1 │
00:00:28 #1800 [Verbose] > │ and method7 (v0 : (struct (int32 * string * (float -> float)) []), v1 : UH1, │
00:00:28 #1801 [Verbose] > │ v2 : uint64) : uint64 = │
00:00:28 #1802 [Verbose] > │ match v1 with │
00:00:28 #1803 [Verbose] > │ | UH1_0(v3, v4, v5, v6) -> (* Cons *) │
00:00:28 #1804 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5) │
00:00:28 #1805 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:28 #1806 [Verbose] > │ method7(v0, v6, v7) │
00:00:28 #1807 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:28 #1808 [Verbose] > │ v2 │
00:00:28 #1809 [Verbose] > │ and method5 (v0 : UH1) : (struct (int32 * string * (float -> float)) []) = │
00:00:28 #1810 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:28 #1811 [Verbose] > │ let v2 : uint64 = method6(v0, v1) │
00:00:28 #1812 [Verbose] > │ let v3 : (struct (int32 * string * (float -> float)) []) = │
00:00:28 #1813 [Verbose] > │ Array.zeroCreate<struct (int32 * string * (float -> float))> │
00:00:28 #1814 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:28 #1815 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:28 #1816 [Verbose] > │ let v5 : uint64 = method7(v3, v0, v4) │
00:00:28 #1817 [Verbose] > │ v3 │
00:00:28 #1818 [Verbose] > │ and method8 (v0 : Mut1) : bool = │
00:00:28 #1819 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:28 #1820 [Verbose] > │ let v2 : bool = v1 < 2000001 │
00:00:28 #1821 [Verbose] > │ v2 │
00:00:28 #1822 [Verbose] > │ and closure2 (v0 : float, v1 : (float -> float)) (v2 : int32) : float = │
00:00:28 #1823 [Verbose] > │ v1 v0 │
00:00:28 #1824 [Verbose] > │ and method9 (v0 : float, v1 : (float []), v2 : uint64) : bool = │
00:00:28 #1825 [Verbose] > │ let v3 : uint64 = System.Convert.ToUInt64 v1.Length │
00:00:28 #1826 [Verbose] > │ let v4 : bool = v2 < v3 │
00:00:28 #1827 [Verbose] > │ if v4 then │
00:00:28 #1828 [Verbose] > │ let v5 : float = v1.[int v2] │
00:00:28 #1829 [Verbose] > │ let v6 : bool = v0 = v5 │
00:00:28 #1830 [Verbose] > │ if v6 then │
00:00:28 #1831 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:28 #1832 [Verbose] > │ method9(v0, v1, v7) │
00:00:28 #1833 [Verbose] > │ else │
00:00:28 #1834 [Verbose] > │ false │
00:00:28 #1835 [Verbose] > │ else │
00:00:28 #1836 [Verbose] > │ true │
00:00:28 #1837 [Verbose] > │ and method10 (v0 : uint64, v1 : Mut2) : bool = │
00:00:28 #1838 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:28 #1839 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:28 #1840 [Verbose] > │ v3 │
00:00:28 #1841 [Verbose] > │ and method11 (v0 : UH3, v1 : UH3) : UH3 = │
00:00:28 #1842 [Verbose] > │ match v0 with │
00:00:28 #1843 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1844 [Verbose] > │ let v5 : UH3 = UH3_0(v2, v3, v1) │
00:00:28 #1845 [Verbose] > │ method11(v4, v5) │
00:00:28 #1846 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:28 #1847 [Verbose] > │ v1 │
00:00:28 #1848 [Verbose] > │ and method13 (v0 : UH3, v1 : int32) : int32 = │
00:00:28 #1849 [Verbose] > │ match v0 with │
00:00:28 #1850 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1851 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:28 #1852 [Verbose] > │ method13(v4, v5) │
00:00:28 #1853 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:28 #1854 [Verbose] > │ v1 │
00:00:28 #1855 [Verbose] > │ and method14 (v0 : (struct (int64 * int64) []), v1 : UH3, v2 : int32) : │
00:00:28 #1856 [Verbose] > │ int32 = │
00:00:28 #1857 [Verbose] > │ match v1 with │
00:00:28 #1858 [Verbose] > │ | UH3_0(v3, v4, v5) -> (* Cons *) │
00:00:28 #1859 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:28 #1860 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:28 #1861 [Verbose] > │ method14(v0, v5, v6) │
00:00:28 #1862 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:28 #1863 [Verbose] > │ v2 │
00:00:28 #1864 [Verbose] > │ and method12 (v0 : UH3) : (struct (int64 * int64) []) = │
00:00:28 #1865 [Verbose] > │ let v1 : int32 = 0 │
00:00:28 #1866 [Verbose] > │ let v2 : int32 = method13(v0, v1) │
00:00:28 #1867 [Verbose] > │ let v3 : (struct (int64 * int64) []) = Array.zeroCreate<struct (int64 * │
00:00:28 #1868 [Verbose] > │ int64)> (v2) │
00:00:28 #1869 [Verbose] > │ let v4 : int32 = 0 │
00:00:28 #1870 [Verbose] > │ let v5 : int32 = method14(v3, v0, v4) │
00:00:28 #1871 [Verbose] > │ v3 │
00:00:28 #1872 [Verbose] > │ and method15 (v0 : int32, v1 : Mut1) : bool = │
00:00:28 #1873 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:28 #1874 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:28 #1875 [Verbose] > │ v3 │
00:00:28 #1876 [Verbose] > │ and closure3 () struct (v0 : int64, v1 : int64) : int64 = │
00:00:28 #1877 [Verbose] > │ v1 │
00:00:28 #1878 [Verbose] > │ and method17 (v0 : UH4, v1 : uint64) : uint64 = │
00:00:28 #1879 [Verbose] > │ match v0 with │
00:00:28 #1880 [Verbose] > │ | UH4_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1881 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:28 #1882 [Verbose] > │ method17(v4, v5) │
00:00:28 #1883 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:28 #1884 [Verbose] > │ v1 │
00:00:28 #1885 [Verbose] > │ and method18 (v0 : (struct (UH2 * US0) []), v1 : UH4, v2 : uint64) : uint64 │
00:00:28 #1886 [Verbose] > │ = │
00:00:28 #1887 [Verbose] > │ match v1 with │
00:00:28 #1888 [Verbose] > │ | UH4_0(v3, v4, v5) -> (* Cons *) │
00:00:28 #1889 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:28 #1890 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:28 #1891 [Verbose] > │ method18(v0, v5, v6) │
00:00:28 #1892 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:28 #1893 [Verbose] > │ v2 │
00:00:28 #1894 [Verbose] > │ and method16 (v0 : UH4) : (struct (UH2 * US0) []) = │
00:00:28 #1895 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:28 #1896 [Verbose] > │ let v2 : uint64 = method17(v0, v1) │
00:00:28 #1897 [Verbose] > │ let v3 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:28 #1898 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:28 #1899 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:28 #1900 [Verbose] > │ let v5 : uint64 = method18(v3, v0, v4) │
00:00:28 #1901 [Verbose] > │ v3 │
00:00:28 #1902 [Verbose] > │ and method20 (v0 : UH2, v1 : uint64) : uint64 = │
00:00:28 #1903 [Verbose] > │ match v0 with │
00:00:28 #1904 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:28 #1905 [Verbose] > │ let v4 : uint64 = v1 + 1UL │
00:00:28 #1906 [Verbose] > │ method20(v3, v4) │
00:00:28 #1907 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:28 #1908 [Verbose] > │ v1 │
00:00:28 #1909 [Verbose] > │ and method21 (v0 : (string []), v1 : UH2, v2 : uint64) : uint64 = │
00:00:28 #1910 [Verbose] > │ match v1 with │
00:00:28 #1911 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:28 #1912 [Verbose] > │ v0.[int v2] <- v3 │
00:00:28 #1913 [Verbose] > │ let v5 : uint64 = v2 + 1UL │
00:00:28 #1914 [Verbose] > │ method21(v0, v4, v5) │
00:00:28 #1915 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:28 #1916 [Verbose] > │ v2 │
00:00:28 #1917 [Verbose] > │ and method19 (v0 : UH2) : (string []) = │
00:00:28 #1918 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:28 #1919 [Verbose] > │ let v2 : uint64 = method20(v0, v1) │
00:00:28 #1920 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> │
00:00:28 #1921 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:28 #1922 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:28 #1923 [Verbose] > │ let v5 : uint64 = method21(v3, v0, v4) │
00:00:28 #1924 [Verbose] > │ v3 │
00:00:28 #1925 [Verbose] > │ and closure4 () (v0 : int64) : US1 = │
00:00:28 #1926 [Verbose] > │ US1_1(v0) │
00:00:28 #1927 [Verbose] > │ and method22 (v0 : uint64, v1 : Mut3) : bool = │
00:00:28 #1928 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:28 #1929 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:28 #1930 [Verbose] > │ v3 │
00:00:28 #1931 [Verbose] > │ and method23 (v0 : UH5, v1 : UH5) : UH5 = │
00:00:28 #1932 [Verbose] > │ match v0 with │
00:00:28 #1933 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1934 [Verbose] > │ let v5 : UH5 = UH5_0(v2, v3, v1) │
00:00:28 #1935 [Verbose] > │ method23(v4, v5) │
00:00:28 #1936 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:28 #1937 [Verbose] > │ v1 │
00:00:28 #1938 [Verbose] > │ and method25 (v0 : UH5, v1 : int32) : int32 = │
00:00:28 #1939 [Verbose] > │ match v0 with │
00:00:28 #1940 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1941 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:28 #1942 [Verbose] > │ method25(v4, v5) │
00:00:28 #1943 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:28 #1944 [Verbose] > │ v1 │
00:00:28 #1945 [Verbose] > │ and method26 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : int32) : │
00:00:28 #1946 [Verbose] > │ int32 = │
00:00:28 #1947 [Verbose] > │ match v1 with │
00:00:28 #1948 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:28 #1949 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:28 #1950 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:28 #1951 [Verbose] > │ method26(v0, v5, v6) │
00:00:28 #1952 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:28 #1953 [Verbose] > │ v2 │
00:00:28 #1954 [Verbose] > │ and method24 (v0 : UH5) : (struct (int32 * int64) []) = │
00:00:28 #1955 [Verbose] > │ let v1 : int32 = 0 │
00:00:28 #1956 [Verbose] > │ let v2 : int32 = method25(v0, v1) │
00:00:28 #1957 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:28 #1958 [Verbose] > │ int64)> (v2) │
00:00:28 #1959 [Verbose] > │ let v4 : int32 = 0 │
00:00:28 #1960 [Verbose] > │ let v5 : int32 = method26(v3, v0, v4) │
00:00:28 #1961 [Verbose] > │ v3 │
00:00:28 #1962 [Verbose] > │ and method27 (v0 : UH2, v1 : UH6, v2 : int32) : struct (UH6 * int32) = │
00:00:28 #1963 [Verbose] > │ match v0 with │
00:00:28 #1964 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:28 #1965 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:28 #1966 [Verbose] > │ let v6 : UH6 = UH6_0(v2, v3, v1) │
00:00:28 #1967 [Verbose] > │ method27(v4, v6, v5) │
00:00:28 #1968 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:28 #1969 [Verbose] > │ struct (v1, v2) │
00:00:28 #1970 [Verbose] > │ and method28 (v0 : UH6, v1 : UH6) : UH6 = │
00:00:28 #1971 [Verbose] > │ match v0 with │
00:00:28 #1972 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:00:28 #1973 [Verbose] > │ let v5 : UH6 = UH6_0(v2, v3, v1) │
00:00:28 #1974 [Verbose] > │ method28(v4, v5) │
00:00:28 #1975 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:28 #1976 [Verbose] > │ v1 │
00:00:28 #1977 [Verbose] > │ and method29 (v0 : Map<int32, int64>, v1 : UH6, v2 : UH2) : UH2 = │
00:00:28 #1978 [Verbose] > │ match v1 with │
00:00:28 #1979 [Verbose] > │ | UH6_0(v3, v4, v5) -> (* Cons *) │
00:00:28 #1980 [Verbose] > │ let v6 : UH2 = method29(v0, v5, v2) │
00:00:28 #1981 [Verbose] > │ let v7 : int64 = v0.[v3] │
00:00:28 #1982 [Verbose] > │ let v8 : int32 = int32 v7 │
00:00:28 #1983 [Verbose] > │ let v9 : string = v4.PadRight v8 │
00:00:28 #1984 [Verbose] > │ UH2_0(v9, v6) │
00:00:28 #1985 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:28 #1986 [Verbose] > │ v2 │
00:00:28 #1987 [Verbose] > │ and method31 (v0 : UH2, v1 : int32) : int32 = │
00:00:28 #1988 [Verbose] > │ match v0 with │
00:00:28 #1989 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:28 #1990 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:28 #1991 [Verbose] > │ method31(v3, v4) │
00:00:28 #1992 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:28 #1993 [Verbose] > │ v1 │
00:00:28 #1994 [Verbose] > │ and method32 (v0 : (string []), v1 : UH2, v2 : int32) : int32 = │
00:00:28 #1995 [Verbose] > │ match v1 with │
00:00:28 #1996 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:28 #1997 [Verbose] > │ v0.[int v2] <- v3 │
00:00:29 #1998 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:29 #1999 [Verbose] > │ method32(v0, v4, v5) │
00:00:29 #2000 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:29 #2001 [Verbose] > │ v2 │
00:00:29 #2002 [Verbose] > │ and method30 (v0 : UH2) : (string []) = │
00:00:29 #2003 [Verbose] > │ let v1 : int32 = 0 │
00:00:29 #2004 [Verbose] > │ let v2 : int32 = method31(v0, v1) │
00:00:29 #2005 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> (v2) │
00:00:29 #2006 [Verbose] > │ let v4 : int32 = 0 │
00:00:29 #2007 [Verbose] > │ let v5 : int32 = method32(v3, v0, v4) │
00:00:29 #2008 [Verbose] > │ v3 │
00:00:29 #2009 [Verbose] > │ and method34 (v0 : UH5, v1 : uint64) : uint64 = │
00:00:29 #2010 [Verbose] > │ match v0 with │
00:00:29 #2011 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:29 #2012 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:29 #2013 [Verbose] > │ method34(v4, v5) │
00:00:29 #2014 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:29 #2015 [Verbose] > │ v1 │
00:00:29 #2016 [Verbose] > │ and method35 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : uint64) : │
00:00:29 #2017 [Verbose] > │ uint64 = │
00:00:29 #2018 [Verbose] > │ match v1 with │
00:00:29 #2019 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:29 #2020 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:29 #2021 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:29 #2022 [Verbose] > │ method35(v0, v5, v6) │
00:00:29 #2023 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:29 #2024 [Verbose] > │ v2 │
00:00:29 #2025 [Verbose] > │ and method33 (v0 : UH5) : (struct (int32 * int64) []) = │
00:00:29 #2026 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:29 #2027 [Verbose] > │ let v2 : uint64 = method34(v0, v1) │
00:00:29 #2028 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:29 #2029 [Verbose] > │ int64)> (System.Convert.ToInt32(v2)) │
00:00:29 #2030 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:29 #2031 [Verbose] > │ let v5 : uint64 = method35(v3, v0, v4) │
00:00:29 #2032 [Verbose] > │ v3 │
00:00:29 #2033 [Verbose] > │ and closure5 () struct (v0 : int32, v1 : int64) : int64 = │
00:00:29 #2034 [Verbose] > │ v1 │
00:00:29 #2035 [Verbose] > │ and closure0 () () : unit = │
00:00:29 #2036 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:29 #2037 [Verbose] > │ let v1 : string = nameof v0 │
00:00:29 #2038 [Verbose] > │ let v2 : string = "" │
00:00:29 #2039 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2040 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2041 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:29 #2042 [Verbose] > │ System.Console.WriteLine v3 │
00:00:29 #2043 [Verbose] > │ let v4 : float = 0.0 │
00:00:29 #2044 [Verbose] > │ let v5 : float = 1.0 │
00:00:29 #2045 [Verbose] > │ let v6 : float = 2.0 │
00:00:29 #2046 [Verbose] > │ let v7 : float = 3.0 │
00:00:29 #2047 [Verbose] > │ let v8 : float = 5.0 │
00:00:29 #2048 [Verbose] > │ let v9 : float = 6.0 │
00:00:29 #2049 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:29 #2050 [Verbose] > │ let v11 : UH0 = UH0_0(v8, v9, v10) │
00:00:29 #2051 [Verbose] > │ let v12 : UH0 = UH0_0(v6, v7, v11) │
00:00:29 #2052 [Verbose] > │ let v13 : UH0 = UH0_0(v4, v5, v12) │
00:00:29 #2053 [Verbose] > │ let v14 : (struct (float * float) []) = method1(v13) │
00:00:29 #2054 [Verbose] > │ let v15 : uint64 = System.Convert.ToUInt64 v14.Length │
00:00:29 #2055 [Verbose] > │ let v16 : (struct (string * string * string * (int64 [])) []) = │
00:00:29 #2056 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:29 #2057 [Verbose] > │ (System.Convert.ToInt32(v15)) │
00:00:29 #2058 [Verbose] > │ let v17 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2059 [Verbose] > │ while method4(v15, v17) do │
00:00:29 #2060 [Verbose] > │ let v19 : uint64 = v17.l0 │
00:00:29 #2061 [Verbose] > │ let struct (v20 : float, v21 : float) = v14.[int v19] │
00:00:29 #2062 [Verbose] > │ let v22 : string = $"%A{v20}" │
00:00:29 #2063 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2064 [Verbose] > │ let v23 : string = $"Solution: {v22} " │
00:00:29 #2065 [Verbose] > │ System.Console.WriteLine v23 │
00:00:29 #2066 [Verbose] > │ let v24 : int32 = 0 │
00:00:29 #2067 [Verbose] > │ let v25 : string = "A" │
00:00:29 #2068 [Verbose] > │ let v26 : (float -> float) = closure1() │
00:00:29 #2069 [Verbose] > │ let v27 : UH1 = UH1_1 │
00:00:29 #2070 [Verbose] > │ let v28 : UH1 = UH1_0(v24, v25, v26, v27) │
00:00:29 #2071 [Verbose] > │ let v29 : (struct (int32 * string * (float -> float)) []) = │
00:00:29 #2072 [Verbose] > │ method5(v28) │
00:00:29 #2073 [Verbose] > │ let v30 : uint64 = System.Convert.ToUInt64 v29.Length │
00:00:29 #2074 [Verbose] > │ let v31 : (struct (float * int64) []) = Array.zeroCreate<struct │
00:00:29 #2075 [Verbose] > │ (float * int64)> (System.Convert.ToInt32(v30)) │
00:00:29 #2076 [Verbose] > │ let v32 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2077 [Verbose] > │ while method4(v30, v32) do │
00:00:29 #2078 [Verbose] > │ let v34 : uint64 = v32.l0 │
00:00:29 #2079 [Verbose] > │ let struct (v35 : int32, v36 : string, v37 : (float -> float)) = │
00:00:29 #2080 [Verbose] > │ v29.[int v34] │
00:00:29 #2081 [Verbose] > │ let mutable result = None │
00:00:29 #2082 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2083 [Verbose] > │ #if !WASM │
00:00:29 #2084 [Verbose] > │ () │
00:00:29 #2085 [Verbose] > │ #else │
00:00:29 #2086 [Verbose] > │ () │
00:00:29 #2087 [Verbose] > │ #endif │
00:00:29 #2088 [Verbose] > │ #else │
00:00:29 #2089 [Verbose] > │ System.GC.Collect () │
00:00:29 #2090 [Verbose] > │ () │
00:00:29 #2091 [Verbose] > │ #endif │
00:00:29 #2092 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2093 [Verbose] > │ result |> Option.get │
00:00:29 #2094 [Verbose] > │ let v38 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:29 #2095 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:29 #2096 [Verbose] > │ let v39 : System.Diagnostics.Stopwatch = v38 () │
00:00:29 #2097 [Verbose] > │ v39.Start () │
00:00:29 #2098 [Verbose] > │ let v40 : int64 = v39.ElapsedMilliseconds │
00:00:29 #2099 [Verbose] > │ let v41 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:29 #2100 [Verbose] > │ let v42 : Mut1 = {l0 = 0} : Mut1 │
00:00:29 #2101 [Verbose] > │ while method8(v42) do │
00:00:29 #2102 [Verbose] > │ let v44 : int32 = v42.l0 │
00:00:29 #2103 [Verbose] > │ v41.[int v44] <- v44 │
00:00:29 #2104 [Verbose] > │ let v45 : int32 = v44 + 1 │
00:00:29 #2105 [Verbose] > │ v42.l0 <- v45 │
00:00:29 #2106 [Verbose] > │ () │
00:00:29 #2107 [Verbose] > │ let v46 : (int32 -> float) = closure2(v20, v37) │
00:00:29 #2108 [Verbose] > │ let v47 : (float []) = v41 |> Array.Parallel.map v46 │
00:00:29 #2109 [Verbose] > │ let v48 : int32 = v47.Length │
00:00:29 #2110 [Verbose] > │ let v49 : int32 = v48 - 1 │
00:00:29 #2111 [Verbose] > │ let v50 : float = v47.[int v49] │
00:00:29 #2112 [Verbose] > │ let v51 : int64 = v39.ElapsedMilliseconds │
00:00:29 #2113 [Verbose] > │ let v52 : int64 = v51 - v40 │
00:00:29 #2114 [Verbose] > │ let v53 : string = $"Test case {v35 + 1}. {v36}. Time: {v52} " │
00:00:29 #2115 [Verbose] > │ System.Console.WriteLine v53 │
00:00:29 #2116 [Verbose] > │ v31.[int v34] <- struct (v50, v52) │
00:00:29 #2117 [Verbose] > │ let v54 : uint64 = v34 + 1UL │
00:00:29 #2118 [Verbose] > │ v32.l0 <- v54 │
00:00:29 #2119 [Verbose] > │ () │
00:00:29 #2120 [Verbose] > │ let v55 : uint64 = System.Convert.ToUInt64 v31.Length │
00:00:29 #2121 [Verbose] > │ let v56 : (float []) = Array.zeroCreate<float> │
00:00:29 #2122 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2123 [Verbose] > │ let v57 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2124 [Verbose] > │ while method4(v55, v57) do │
00:00:29 #2125 [Verbose] > │ let v59 : uint64 = v57.l0 │
00:00:29 #2126 [Verbose] > │ let struct (v60 : float, v61 : int64) = v31.[int v59] │
00:00:29 #2127 [Verbose] > │ v56.[int v59] <- v60 │
00:00:29 #2128 [Verbose] > │ let v62 : uint64 = v59 + 1UL │
00:00:29 #2129 [Verbose] > │ v57.l0 <- v62 │
00:00:29 #2130 [Verbose] > │ () │
00:00:29 #2131 [Verbose] > │ let v63 : uint64 = System.Convert.ToUInt64 v56.Length │
00:00:29 #2132 [Verbose] > │ let v64 : bool = v63 <= 1UL │
00:00:29 #2133 [Verbose] > │ if v64 then │
00:00:29 #2134 [Verbose] > │ () │
00:00:29 #2135 [Verbose] > │ else │
00:00:29 #2136 [Verbose] > │ let v65 : float = v56.[int 0UL] │
00:00:29 #2137 [Verbose] > │ let v66 : uint64 = 0UL │
00:00:29 #2138 [Verbose] > │ let v67 : bool = method9(v65, v56, v66) │
00:00:29 #2139 [Verbose] > │ if v67 then │
00:00:29 #2140 [Verbose] > │ () │
00:00:29 #2141 [Verbose] > │ else │
00:00:29 #2142 [Verbose] > │ let v68 : string = $"Challenge error: {v56}" │
00:00:29 #2143 [Verbose] > │ failwith<unit> v68 │
00:00:29 #2144 [Verbose] > │ let v69 : string = $"%A{v21}" │
00:00:29 #2145 [Verbose] > │ let v70 : (float []) = Array.zeroCreate<float> │
00:00:29 #2146 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2147 [Verbose] > │ let v71 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2148 [Verbose] > │ while method4(v55, v71) do │
00:00:29 #2149 [Verbose] > │ let v73 : uint64 = v71.l0 │
00:00:29 #2150 [Verbose] > │ let struct (v74 : float, v75 : int64) = v31.[int v73] │
00:00:29 #2151 [Verbose] > │ v70.[int v73] <- v74 │
00:00:29 #2152 [Verbose] > │ let v76 : uint64 = v73 + 1UL │
00:00:29 #2153 [Verbose] > │ v71.l0 <- v76 │
00:00:29 #2154 [Verbose] > │ () │
00:00:29 #2155 [Verbose] > │ let v77 : float = v70.[int 0UL] │
00:00:29 #2156 [Verbose] > │ let v78 : string = $"%A{v77}" │
00:00:29 #2157 [Verbose] > │ let v79 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2158 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2159 [Verbose] > │ let v80 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2160 [Verbose] > │ while method4(v55, v80) do │
00:00:29 #2161 [Verbose] > │ let v82 : uint64 = v80.l0 │
00:00:29 #2162 [Verbose] > │ let struct (v83 : float, v84 : int64) = v31.[int v82] │
00:00:29 #2163 [Verbose] > │ v79.[int v82] <- v84 │
00:00:29 #2164 [Verbose] > │ let v85 : uint64 = v82 + 1UL │
00:00:29 #2165 [Verbose] > │ v80.l0 <- v85 │
00:00:29 #2166 [Verbose] > │ () │
00:00:29 #2167 [Verbose] > │ v16.[int v19] <- struct (v69, v22, v78, v79) │
00:00:29 #2168 [Verbose] > │ let v86 : uint64 = v19 + 1UL │
00:00:29 #2169 [Verbose] > │ v17.l0 <- v86 │
00:00:29 #2170 [Verbose] > │ () │
00:00:29 #2171 [Verbose] > │ let v87 : uint64 = System.Convert.ToUInt64 v16.Length │
00:00:29 #2172 [Verbose] > │ let v88 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:29 #2173 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:29 #2174 [Verbose] > │ let v89 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2175 [Verbose] > │ while method4(v87, v89) do │
00:00:29 #2176 [Verbose] > │ let v91 : uint64 = v89.l0 │
00:00:29 #2177 [Verbose] > │ let struct (v92 : string, v93 : string, v94 : string, v95 : (int64 [ │
00:00:29 #2178 [Verbose] > │ ])) = v16.[int v91] │
00:00:29 #2179 [Verbose] > │ let v96 : uint64 = System.Convert.ToUInt64 v95.Length │
00:00:29 #2180 [Verbose] > │ let v97 : UH3 = UH3_1 │
00:00:29 #2181 [Verbose] > │ let v98 : Mut2 = {l0 = 0UL; l1 = v97; l2 = 0L} : Mut2 │
00:00:29 #2182 [Verbose] > │ while method10(v96, v98) do │
00:00:29 #2183 [Verbose] > │ let v100 : uint64 = v98.l0 │
00:00:29 #2184 [Verbose] > │ let struct (v101 : UH3, v102 : int64) = v98.l1, v98.l2 │
00:00:29 #2185 [Verbose] > │ let v103 : int64 = v95.[int v100] │
00:00:29 #2186 [Verbose] > │ let v104 : int64 = v102 + 1L │
00:00:29 #2187 [Verbose] > │ let v105 : uint64 = v100 + 1UL │
00:00:29 #2188 [Verbose] > │ let v106 : UH3 = UH3_0(v102, v103, v101) │
00:00:29 #2189 [Verbose] > │ v98.l0 <- v105 │
00:00:29 #2190 [Verbose] > │ v98.l1 <- v106 │
00:00:29 #2191 [Verbose] > │ v98.l2 <- v104 │
00:00:29 #2192 [Verbose] > │ () │
00:00:29 #2193 [Verbose] > │ let struct (v107 : UH3, v108 : int64) = v98.l1, v98.l2 │
00:00:29 #2194 [Verbose] > │ let v109 : UH3 = UH3_1 │
00:00:29 #2195 [Verbose] > │ let v110 : UH3 = method11(v107, v109) │
00:00:29 #2196 [Verbose] > │ let v111 : (struct (int64 * int64) []) = method12(v110) │
00:00:29 #2197 [Verbose] > │ let v112 : int32 = v111.Length │
00:00:29 #2198 [Verbose] > │ let v113 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:29 #2199 [Verbose] > │ (int64 * int64)> (v112) │
00:00:29 #2200 [Verbose] > │ let v114 : Mut1 = {l0 = 0} : Mut1 │
00:00:29 #2201 [Verbose] > │ while method15(v112, v114) do │
00:00:29 #2202 [Verbose] > │ let v116 : int32 = v114.l0 │
00:00:29 #2203 [Verbose] > │ let struct (v117 : int64, v118 : int64) = v111.[int v116] │
00:00:29 #2204 [Verbose] > │ let v119 : int64 = v117 + 1L │
00:00:29 #2205 [Verbose] > │ v113.[int v116] <- struct (v119, v118) │
00:00:29 #2206 [Verbose] > │ let v120 : int32 = v116 + 1 │
00:00:29 #2207 [Verbose] > │ v114.l0 <- v120 │
00:00:29 #2208 [Verbose] > │ () │
00:00:29 #2209 [Verbose] > │ let v121 : (struct (int64 * int64) -> int64) = closure3() │
00:00:29 #2210 [Verbose] > │ let v122 : (struct (int64 * int64) []) = v113 |> Array.sortBy v121 │
00:00:29 #2211 [Verbose] > │ let struct (v123 : int64, v124 : int64) = v122.[int 0] │
00:00:29 #2212 [Verbose] > │ let v125 : string = $"%A{struct (v123, v124)}" │
00:00:29 #2213 [Verbose] > │ let v126 : bool = v92 = v94 │
00:00:29 #2214 [Verbose] > │ let v131 : US0 = │
00:00:29 #2215 [Verbose] > │ if v126 then │
00:00:29 #2216 [Verbose] > │ let v127 : System.ConsoleColor = │
00:00:29 #2217 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:29 #2218 [Verbose] > │ US0_1(v127) │
00:00:29 #2219 [Verbose] > │ else │
00:00:29 #2220 [Verbose] > │ let v129 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:29 #2221 [Verbose] > │ US0_1(v129) │
00:00:29 #2222 [Verbose] > │ let v132 : UH2 = UH2_1 │
00:00:29 #2223 [Verbose] > │ let v133 : UH2 = UH2_0(v125, v132) │
00:00:29 #2224 [Verbose] > │ let v134 : UH2 = UH2_0(v94, v133) │
00:00:29 #2225 [Verbose] > │ let v135 : UH2 = UH2_0(v92, v134) │
00:00:29 #2226 [Verbose] > │ let v136 : UH2 = UH2_0(v93, v135) │
00:00:29 #2227 [Verbose] > │ v88.[int v91] <- struct (v136, v131) │
00:00:29 #2228 [Verbose] > │ let v137 : uint64 = v91 + 1UL │
00:00:29 #2229 [Verbose] > │ v89.l0 <- v137 │
00:00:29 #2230 [Verbose] > │ () │
00:00:29 #2231 [Verbose] > │ let v138 : string = "Input" │
00:00:29 #2232 [Verbose] > │ let v139 : string = "Expected" │
00:00:29 #2233 [Verbose] > │ let v140 : string = "Result" │
00:00:29 #2234 [Verbose] > │ let v141 : string = "Best" │
00:00:29 #2235 [Verbose] > │ let v142 : UH2 = UH2_1 │
00:00:29 #2236 [Verbose] > │ let v143 : UH2 = UH2_0(v141, v142) │
00:00:29 #2237 [Verbose] > │ let v144 : UH2 = UH2_0(v140, v143) │
00:00:29 #2238 [Verbose] > │ let v145 : UH2 = UH2_0(v139, v144) │
00:00:29 #2239 [Verbose] > │ let v146 : UH2 = UH2_0(v138, v145) │
00:00:29 #2240 [Verbose] > │ let v147 : US0 = US0_0 │
00:00:29 #2241 [Verbose] > │ let v148 : string = "---" │
00:00:29 #2242 [Verbose] > │ let v149 : UH2 = UH2_1 │
00:00:29 #2243 [Verbose] > │ let v150 : UH2 = UH2_0(v148, v149) │
00:00:29 #2244 [Verbose] > │ let v151 : UH2 = UH2_0(v148, v150) │
00:00:29 #2245 [Verbose] > │ let v152 : UH2 = UH2_0(v148, v151) │
00:00:29 #2246 [Verbose] > │ let v153 : UH2 = UH2_0(v148, v152) │
00:00:29 #2247 [Verbose] > │ let v154 : US0 = US0_0 │
00:00:29 #2248 [Verbose] > │ let v155 : UH4 = UH4_1 │
00:00:29 #2249 [Verbose] > │ let v156 : UH4 = UH4_0(v153, v154, v155) │
00:00:29 #2250 [Verbose] > │ let v157 : UH4 = UH4_0(v146, v147, v156) │
00:00:29 #2251 [Verbose] > │ let v158 : (struct (UH2 * US0) []) = method16(v157) │
00:00:29 #2252 [Verbose] > │ let v159 : uint64 = System.Convert.ToUInt64 v158.Length │
00:00:29 #2253 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v88.Length │
00:00:29 #2254 [Verbose] > │ let v161 : uint64 = v159 + v160 │
00:00:29 #2255 [Verbose] > │ let v162 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:29 #2256 [Verbose] > │ US0)> (System.Convert.ToInt32(v161)) │
00:00:29 #2257 [Verbose] > │ let v163 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2258 [Verbose] > │ while method4(v161, v163) do │
00:00:29 #2259 [Verbose] > │ let v165 : uint64 = v163.l0 │
00:00:29 #2260 [Verbose] > │ let v166 : bool = v165 < v159 │
00:00:29 #2261 [Verbose] > │ let struct (v172 : UH2, v173 : US0) = │
00:00:29 #2262 [Verbose] > │ if v166 then │
00:00:29 #2263 [Verbose] > │ let struct (v167 : UH2, v168 : US0) = v158.[int v165] │
00:00:29 #2264 [Verbose] > │ struct (v167, v168) │
00:00:29 #2265 [Verbose] > │ else │
00:00:29 #2266 [Verbose] > │ let v169 : uint64 = v165 - v159 │
00:00:29 #2267 [Verbose] > │ let struct (v170 : UH2, v171 : US0) = v88.[int v169] │
00:00:29 #2268 [Verbose] > │ struct (v170, v171) │
00:00:29 #2269 [Verbose] > │ v162.[int v165] <- struct (v172, v173) │
00:00:29 #2270 [Verbose] > │ let v174 : uint64 = v165 + 1UL │
00:00:29 #2271 [Verbose] > │ v163.l0 <- v174 │
00:00:29 #2272 [Verbose] > │ () │
00:00:29 #2273 [Verbose] > │ let v175 : uint64 = System.Convert.ToUInt64 v162.Length │
00:00:29 #2274 [Verbose] > │ let v176 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:29 #2275 [Verbose] > │ (System.Convert.ToInt32(v175)) │
00:00:29 #2276 [Verbose] > │ let v177 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2277 [Verbose] > │ while method4(v175, v177) do │
00:00:29 #2278 [Verbose] > │ let v179 : uint64 = v177.l0 │
00:00:29 #2279 [Verbose] > │ let struct (v180 : UH2, v181 : US0) = v162.[int v179] │
00:00:29 #2280 [Verbose] > │ let v182 : (string []) = method19(v180) │
00:00:29 #2281 [Verbose] > │ v176.[int v179] <- v182 │
00:00:29 #2282 [Verbose] > │ let v183 : uint64 = v179 + 1UL │
00:00:29 #2283 [Verbose] > │ v177.l0 <- v183 │
00:00:29 #2284 [Verbose] > │ () │
00:00:29 #2285 [Verbose] > │ let v184 : ((string []) []) = v176 |> Array.transpose │
00:00:29 #2286 [Verbose] > │ let v185 : uint64 = System.Convert.ToUInt64 v184.Length │
00:00:29 #2287 [Verbose] > │ let v186 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2288 [Verbose] > │ (System.Convert.ToInt32(v185)) │
00:00:29 #2289 [Verbose] > │ let v187 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2290 [Verbose] > │ while method4(v185, v187) do │
00:00:29 #2291 [Verbose] > │ let v189 : uint64 = v187.l0 │
00:00:29 #2292 [Verbose] > │ let v190 : (string []) = v184.[int v189] │
00:00:29 #2293 [Verbose] > │ let v191 : uint64 = System.Convert.ToUInt64 v190.Length │
00:00:29 #2294 [Verbose] > │ let v192 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2295 [Verbose] > │ (System.Convert.ToInt32(v191)) │
00:00:29 #2296 [Verbose] > │ let v193 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2297 [Verbose] > │ while method4(v191, v193) do │
00:00:29 #2298 [Verbose] > │ let v195 : uint64 = v193.l0 │
00:00:29 #2299 [Verbose] > │ let v196 : string = v190.[int v195] │
00:00:29 #2300 [Verbose] > │ let v197 : int64 = System.Convert.ToInt64 v196.Length │
00:00:29 #2301 [Verbose] > │ v192.[int v195] <- v197 │
00:00:29 #2302 [Verbose] > │ let v198 : uint64 = v195 + 1UL │
00:00:29 #2303 [Verbose] > │ v193.l0 <- v198 │
00:00:29 #2304 [Verbose] > │ () │
00:00:29 #2305 [Verbose] > │ let v199 : (int64 []) = v192 |> Array.sortDescending │
00:00:29 #2306 [Verbose] > │ let v200 : int64 option = v199 |> Array.tryItem 0 │
00:00:29 #2307 [Verbose] > │ let v201 : (int64 -> US1) = closure4() │
00:00:29 #2308 [Verbose] > │ let v202 : US1 = US1_0 │
00:00:29 #2309 [Verbose] > │ let v203 : US1 = v200 |> Option.map v201 |> Option.defaultValue v202 │
00:00:29 #2310 [Verbose] > │ let v206 : int64 = │
00:00:29 #2311 [Verbose] > │ match v203 with │
00:00:29 #2312 [Verbose] > │ | US1_0 -> (* None *) │
00:00:29 #2313 [Verbose] > │ 0L │
00:00:29 #2314 [Verbose] > │ | US1_1(v204) -> (* Some *) │
00:00:29 #2315 [Verbose] > │ v204 │
00:00:29 #2316 [Verbose] > │ v186.[int v189] <- v206 │
00:00:29 #2317 [Verbose] > │ let v207 : uint64 = v189 + 1UL │
00:00:29 #2318 [Verbose] > │ v187.l0 <- v207 │
00:00:29 #2319 [Verbose] > │ () │
00:00:29 #2320 [Verbose] > │ let v208 : uint64 = System.Convert.ToUInt64 v186.Length │
00:00:29 #2321 [Verbose] > │ let v209 : UH5 = UH5_1 │
00:00:29 #2322 [Verbose] > │ let v210 : Mut3 = {l0 = 0UL; l1 = v209; l2 = 0} : Mut3 │
00:00:29 #2323 [Verbose] > │ while method22(v208, v210) do │
00:00:29 #2324 [Verbose] > │ let v212 : uint64 = v210.l0 │
00:00:29 #2325 [Verbose] > │ let struct (v213 : UH5, v214 : int32) = v210.l1, v210.l2 │
00:00:29 #2326 [Verbose] > │ let v215 : int64 = v186.[int v212] │
00:00:29 #2327 [Verbose] > │ let v216 : int32 = v214 + 1 │
00:00:29 #2328 [Verbose] > │ let v217 : uint64 = v212 + 1UL │
00:00:29 #2329 [Verbose] > │ let v218 : UH5 = UH5_0(v214, v215, v213) │
00:00:29 #2330 [Verbose] > │ v210.l0 <- v217 │
00:00:29 #2331 [Verbose] > │ v210.l1 <- v218 │
00:00:29 #2332 [Verbose] > │ v210.l2 <- v216 │
00:00:29 #2333 [Verbose] > │ () │
00:00:29 #2334 [Verbose] > │ let struct (v219 : UH5, v220 : int32) = v210.l1, v210.l2 │
00:00:29 #2335 [Verbose] > │ let v221 : UH5 = UH5_1 │
00:00:29 #2336 [Verbose] > │ let v222 : UH5 = method23(v219, v221) │
00:00:29 #2337 [Verbose] > │ let v223 : (struct (int32 * int64) []) = method24(v222) │
00:00:29 #2338 [Verbose] > │ let v224 : Map<int32, int64> = v223 |> Array.map (fun (struct (a, b)) -> │
00:00:29 #2339 [Verbose] > │ a, b) |> Map.ofArray │
00:00:29 #2340 [Verbose] > │ let v225 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:29 #2341 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v175)) │
00:00:29 #2342 [Verbose] > │ let v226 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2343 [Verbose] > │ while method4(v175, v226) do │
00:00:29 #2344 [Verbose] > │ let v228 : uint64 = v226.l0 │
00:00:29 #2345 [Verbose] > │ let struct (v229 : UH2, v230 : US0) = v162.[int v228] │
00:00:29 #2346 [Verbose] > │ let v231 : UH6 = UH6_1 │
00:00:29 #2347 [Verbose] > │ let v232 : int32 = 0 │
00:00:29 #2348 [Verbose] > │ let struct (v233 : UH6, v234 : int32) = method27(v229, v231, v232) │
00:00:29 #2349 [Verbose] > │ let v235 : UH6 = UH6_1 │
00:00:29 #2350 [Verbose] > │ let v236 : UH6 = method28(v233, v235) │
00:00:29 #2351 [Verbose] > │ let v237 : UH2 = UH2_1 │
00:00:29 #2352 [Verbose] > │ let v238 : UH2 = method29(v224, v236, v237) │
00:00:29 #2353 [Verbose] > │ let v239 : (string []) = method30(v238) │
00:00:29 #2354 [Verbose] > │ v225.[int v228] <- struct (v239, v230) │
00:00:29 #2355 [Verbose] > │ let v240 : uint64 = v228 + 1UL │
00:00:29 #2356 [Verbose] > │ v226.l0 <- v240 │
00:00:29 #2357 [Verbose] > │ () │
00:00:29 #2358 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2359 [Verbose] > │ let v241 : uint64 = System.Convert.ToUInt64 v225.Length │
00:00:29 #2360 [Verbose] > │ let v242 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2361 [Verbose] > │ while method4(v241, v242) do │
00:00:29 #2362 [Verbose] > │ let v244 : uint64 = v242.l0 │
00:00:29 #2363 [Verbose] > │ let struct (v245 : (string []), v246 : US0) = v225.[int v244] │
00:00:29 #2364 [Verbose] > │ match v246 with │
00:00:29 #2365 [Verbose] > │ | US0_0 -> (* None *) │
00:00:29 #2366 [Verbose] > │ let mutable result = None │
00:00:29 #2367 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2368 [Verbose] > │ #if !WASM │
00:00:29 #2369 [Verbose] > │ () │
00:00:29 #2370 [Verbose] > │ #else │
00:00:29 #2371 [Verbose] > │ () │
00:00:29 #2372 [Verbose] > │ #endif │
00:00:29 #2373 [Verbose] > │ #else │
00:00:29 #2374 [Verbose] > │ System.Console.ResetColor () │
00:00:29 #2375 [Verbose] > │ () │
00:00:29 #2376 [Verbose] > │ #endif │
00:00:29 #2377 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2378 [Verbose] > │ result |> Option.get │
00:00:29 #2379 [Verbose] > │ () │
00:00:29 #2380 [Verbose] > │ | US0_1(v247) -> (* Some *) │
00:00:29 #2381 [Verbose] > │ let mutable result = None │
00:00:29 #2382 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2383 [Verbose] > │ #if !WASM │
00:00:29 #2384 [Verbose] > │ () │
00:00:29 #2385 [Verbose] > │ #else │
00:00:29 #2386 [Verbose] > │ () │
00:00:29 #2387 [Verbose] > │ #endif │
00:00:29 #2388 [Verbose] > │ #else │
00:00:29 #2389 [Verbose] > │ System.Console.ForegroundColor <- v247 │
00:00:29 #2390 [Verbose] > │ () │
00:00:29 #2391 [Verbose] > │ #endif │
00:00:29 #2392 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2393 [Verbose] > │ result |> Option.get │
00:00:29 #2394 [Verbose] > │ () │
00:00:29 #2395 [Verbose] > │ let v248 : string = "\t| " │
00:00:29 #2396 [Verbose] > │ let v249 : string = System.String.Join (v248, v245) │
00:00:29 #2397 [Verbose] > │ System.Console.WriteLine v249 │
00:00:29 #2398 [Verbose] > │ let mutable result = None │
00:00:29 #2399 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2400 [Verbose] > │ #if !WASM │
00:00:29 #2401 [Verbose] > │ () │
00:00:29 #2402 [Verbose] > │ #else │
00:00:29 #2403 [Verbose] > │ () │
00:00:29 #2404 [Verbose] > │ #endif │
00:00:29 #2405 [Verbose] > │ #else │
00:00:29 #2406 [Verbose] > │ System.Console.ResetColor () │
00:00:29 #2407 [Verbose] > │ () │
00:00:29 #2408 [Verbose] > │ #endif │
00:00:29 #2409 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2410 [Verbose] > │ result |> Option.get │
00:00:29 #2411 [Verbose] > │ let v250 : uint64 = v244 + 1UL │
00:00:29 #2412 [Verbose] > │ v242.l0 <- v250 │
00:00:29 #2413 [Verbose] > │ () │
00:00:29 #2414 [Verbose] > │ let v251 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:29 #2415 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:29 #2416 [Verbose] > │ let v252 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2417 [Verbose] > │ while method4(v87, v252) do │
00:00:29 #2418 [Verbose] > │ let v254 : uint64 = v252.l0 │
00:00:29 #2419 [Verbose] > │ let struct (v255 : string, v256 : string, v257 : string, v258 : │
00:00:29 #2420 [Verbose] > │ (int64 [])) = v16.[int v254] │
00:00:29 #2421 [Verbose] > │ let v259 : (int64 -> float) = float │
00:00:29 #2422 [Verbose] > │ let v260 : uint64 = System.Convert.ToUInt64 v258.Length │
00:00:29 #2423 [Verbose] > │ let v261 : (float []) = Array.zeroCreate<float> │
00:00:29 #2424 [Verbose] > │ (System.Convert.ToInt32(v260)) │
00:00:29 #2425 [Verbose] > │ let v262 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2426 [Verbose] > │ while method4(v260, v262) do │
00:00:29 #2427 [Verbose] > │ let v264 : uint64 = v262.l0 │
00:00:29 #2428 [Verbose] > │ let v265 : int64 = v258.[int v264] │
00:00:29 #2429 [Verbose] > │ let v266 : float = v259 v265 │
00:00:29 #2430 [Verbose] > │ v261.[int v264] <- v266 │
00:00:29 #2431 [Verbose] > │ let v267 : uint64 = v264 + 1UL │
00:00:29 #2432 [Verbose] > │ v262.l0 <- v267 │
00:00:29 #2433 [Verbose] > │ () │
00:00:29 #2434 [Verbose] > │ v251.[int v254] <- v261 │
00:00:29 #2435 [Verbose] > │ let v268 : uint64 = v254 + 1UL │
00:00:29 #2436 [Verbose] > │ v252.l0 <- v268 │
00:00:29 #2437 [Verbose] > │ () │
00:00:29 #2438 [Verbose] > │ let v269 : ((float []) []) = v251 |> Array.transpose │
00:00:29 #2439 [Verbose] > │ let v270 : uint64 = System.Convert.ToUInt64 v269.Length │
00:00:29 #2440 [Verbose] > │ let v271 : (float []) = Array.zeroCreate<float> │
00:00:29 #2441 [Verbose] > │ (System.Convert.ToInt32(v270)) │
00:00:29 #2442 [Verbose] > │ let v272 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2443 [Verbose] > │ while method4(v270, v272) do │
00:00:29 #2444 [Verbose] > │ let v274 : uint64 = v272.l0 │
00:00:29 #2445 [Verbose] > │ let v275 : (float []) = v269.[int v274] │
00:00:29 #2446 [Verbose] > │ let v276 : float = v275 |> Array.average │
00:00:29 #2447 [Verbose] > │ v271.[int v274] <- v276 │
00:00:29 #2448 [Verbose] > │ let v277 : uint64 = v274 + 1UL │
00:00:29 #2449 [Verbose] > │ v272.l0 <- v277 │
00:00:29 #2450 [Verbose] > │ () │
00:00:29 #2451 [Verbose] > │ let v278 : (float -> int64) = int64 │
00:00:29 #2452 [Verbose] > │ let v279 : uint64 = System.Convert.ToUInt64 v271.Length │
00:00:29 #2453 [Verbose] > │ let v280 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2454 [Verbose] > │ (System.Convert.ToInt32(v279)) │
00:00:29 #2455 [Verbose] > │ let v281 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2456 [Verbose] > │ while method4(v279, v281) do │
00:00:29 #2457 [Verbose] > │ let v283 : uint64 = v281.l0 │
00:00:29 #2458 [Verbose] > │ let v284 : float = v271.[int v283] │
00:00:29 #2459 [Verbose] > │ let v285 : int64 = v278 v284 │
00:00:29 #2460 [Verbose] > │ v280.[int v283] <- v285 │
00:00:29 #2461 [Verbose] > │ let v286 : uint64 = v283 + 1UL │
00:00:29 #2462 [Verbose] > │ v281.l0 <- v286 │
00:00:29 #2463 [Verbose] > │ () │
00:00:29 #2464 [Verbose] > │ let v287 : uint64 = System.Convert.ToUInt64 v280.Length │
00:00:29 #2465 [Verbose] > │ let v288 : UH5 = UH5_1 │
00:00:29 #2466 [Verbose] > │ let v289 : Mut3 = {l0 = 0UL; l1 = v288; l2 = 0} : Mut3 │
00:00:29 #2467 [Verbose] > │ while method22(v287, v289) do │
00:00:29 #2468 [Verbose] > │ let v291 : uint64 = v289.l0 │
00:00:29 #2469 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v289.l1, v289.l2 │
00:00:29 #2470 [Verbose] > │ let v294 : int64 = v280.[int v291] │
00:00:29 #2471 [Verbose] > │ let v295 : int32 = v293 + 1 │
00:00:29 #2472 [Verbose] > │ let v296 : uint64 = v291 + 1UL │
00:00:29 #2473 [Verbose] > │ let v297 : UH5 = UH5_0(v293, v294, v292) │
00:00:29 #2474 [Verbose] > │ v289.l0 <- v296 │
00:00:29 #2475 [Verbose] > │ v289.l1 <- v297 │
00:00:29 #2476 [Verbose] > │ v289.l2 <- v295 │
00:00:29 #2477 [Verbose] > │ () │
00:00:29 #2478 [Verbose] > │ let struct (v298 : UH5, v299 : int32) = v289.l1, v289.l2 │
00:00:29 #2479 [Verbose] > │ let v300 : UH5 = UH5_1 │
00:00:29 #2480 [Verbose] > │ let v301 : UH5 = method23(v298, v300) │
00:00:29 #2481 [Verbose] > │ let v302 : (struct (int32 * int64) []) = method33(v301) │
00:00:29 #2482 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2483 [Verbose] > │ let v303 : string = "Average Ranking " │
00:00:29 #2484 [Verbose] > │ System.Console.WriteLine v303 │
00:00:29 #2485 [Verbose] > │ let v304 : (struct (int32 * int64) -> int64) = closure5() │
00:00:29 #2486 [Verbose] > │ let v305 : (struct (int32 * int64) []) = v302 |> Array.sortBy v304 │
00:00:29 #2487 [Verbose] > │ let v306 : uint64 = System.Convert.ToUInt64 v305.Length │
00:00:29 #2488 [Verbose] > │ let v307 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2489 [Verbose] > │ while method4(v306, v307) do │
00:00:29 #2490 [Verbose] > │ let v309 : uint64 = v307.l0 │
00:00:29 #2491 [Verbose] > │ let struct (v310 : int32, v311 : int64) = v305.[int v309] │
00:00:29 #2492 [Verbose] > │ let v312 : string = $"Test case %d{v310 + 1}. Average Time: %A{v311} │
00:00:29 #2493 [Verbose] > │ " │
00:00:29 #2494 [Verbose] > │ System.Console.WriteLine v312 │
00:00:29 #2495 [Verbose] > │ let v313 : uint64 = v309 + 1UL │
00:00:29 #2496 [Verbose] > │ v307.l0 <- v313 │
00:00:29 #2497 [Verbose] > │ () │
00:00:29 #2498 [Verbose] > │ () │
00:00:29 #2499 [Verbose] > │ and method0 () : unit = │
00:00:29 #2500 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:29 #2501 [Verbose] > │ let v1 : string = nameof v0 │
00:00:29 #2502 [Verbose] > │ let v2 : string = "" │
00:00:29 #2503 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2504 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2505 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:29 #2506 [Verbose] > │ System.Console.WriteLine v3 │
00:00:29 #2507 [Verbose] > │ let v4 : float = 0.0 │
00:00:29 #2508 [Verbose] > │ let v5 : float = 1.0 │
00:00:29 #2509 [Verbose] > │ let v6 : float = 2.0 │
00:00:29 #2510 [Verbose] > │ let v7 : float = 3.0 │
00:00:29 #2511 [Verbose] > │ let v8 : float = 5.0 │
00:00:29 #2512 [Verbose] > │ let v9 : float = 6.0 │
00:00:29 #2513 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:29 #2514 [Verbose] > │ let v11 : UH0 = UH0_0(v8, v9, v10) │
00:00:29 #2515 [Verbose] > │ let v12 : UH0 = UH0_0(v6, v7, v11) │
00:00:29 #2516 [Verbose] > │ let v13 : UH0 = UH0_0(v4, v5, v12) │
00:00:29 #2517 [Verbose] > │ let v14 : (struct (float * float) []) = method1(v13) │
00:00:29 #2518 [Verbose] > │ let v15 : uint64 = System.Convert.ToUInt64 v14.Length │
00:00:29 #2519 [Verbose] > │ let v16 : (struct (string * string * string * (int64 [])) []) = │
00:00:29 #2520 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:29 #2521 [Verbose] > │ (System.Convert.ToInt32(v15)) │
00:00:29 #2522 [Verbose] > │ let v17 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2523 [Verbose] > │ while method4(v15, v17) do │
00:00:29 #2524 [Verbose] > │ let v19 : uint64 = v17.l0 │
00:00:29 #2525 [Verbose] > │ let struct (v20 : float, v21 : float) = v14.[int v19] │
00:00:29 #2526 [Verbose] > │ let v22 : string = $"%A{v20}" │
00:00:29 #2527 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2528 [Verbose] > │ let v23 : string = $"Solution: {v22} " │
00:00:29 #2529 [Verbose] > │ System.Console.WriteLine v23 │
00:00:29 #2530 [Verbose] > │ let v24 : int32 = 0 │
00:00:29 #2531 [Verbose] > │ let v25 : string = "A" │
00:00:29 #2532 [Verbose] > │ let v26 : (float -> float) = closure1() │
00:00:29 #2533 [Verbose] > │ let v27 : UH1 = UH1_1 │
00:00:29 #2534 [Verbose] > │ let v28 : UH1 = UH1_0(v24, v25, v26, v27) │
00:00:29 #2535 [Verbose] > │ let v29 : (struct (int32 * string * (float -> float)) []) = │
00:00:29 #2536 [Verbose] > │ method5(v28) │
00:00:29 #2537 [Verbose] > │ let v30 : uint64 = System.Convert.ToUInt64 v29.Length │
00:00:29 #2538 [Verbose] > │ let v31 : (struct (float * int64) []) = Array.zeroCreate<struct │
00:00:29 #2539 [Verbose] > │ (float * int64)> (System.Convert.ToInt32(v30)) │
00:00:29 #2540 [Verbose] > │ let v32 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2541 [Verbose] > │ while method4(v30, v32) do │
00:00:29 #2542 [Verbose] > │ let v34 : uint64 = v32.l0 │
00:00:29 #2543 [Verbose] > │ let struct (v35 : int32, v36 : string, v37 : (float -> float)) = │
00:00:29 #2544 [Verbose] > │ v29.[int v34] │
00:00:29 #2545 [Verbose] > │ let mutable result = None │
00:00:29 #2546 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2547 [Verbose] > │ #if !WASM │
00:00:29 #2548 [Verbose] > │ () │
00:00:29 #2549 [Verbose] > │ #else │
00:00:29 #2550 [Verbose] > │ () │
00:00:29 #2551 [Verbose] > │ #endif │
00:00:29 #2552 [Verbose] > │ #else │
00:00:29 #2553 [Verbose] > │ System.GC.Collect () │
00:00:29 #2554 [Verbose] > │ () │
00:00:29 #2555 [Verbose] > │ #endif │
00:00:29 #2556 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2557 [Verbose] > │ result |> Option.get │
00:00:29 #2558 [Verbose] > │ let v38 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:29 #2559 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:29 #2560 [Verbose] > │ let v39 : System.Diagnostics.Stopwatch = v38 () │
00:00:29 #2561 [Verbose] > │ v39.Start () │
00:00:29 #2562 [Verbose] > │ let v40 : int64 = v39.ElapsedMilliseconds │
00:00:29 #2563 [Verbose] > │ let v41 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:29 #2564 [Verbose] > │ let v42 : Mut1 = {l0 = 0} : Mut1 │
00:00:29 #2565 [Verbose] > │ while method8(v42) do │
00:00:29 #2566 [Verbose] > │ let v44 : int32 = v42.l0 │
00:00:29 #2567 [Verbose] > │ v41.[int v44] <- v44 │
00:00:29 #2568 [Verbose] > │ let v45 : int32 = v44 + 1 │
00:00:29 #2569 [Verbose] > │ v42.l0 <- v45 │
00:00:29 #2570 [Verbose] > │ () │
00:00:29 #2571 [Verbose] > │ let v46 : (int32 -> float) = closure2(v20, v37) │
00:00:29 #2572 [Verbose] > │ let v47 : (float []) = v41 |> Array.Parallel.map v46 │
00:00:29 #2573 [Verbose] > │ let v48 : int32 = v47.Length │
00:00:29 #2574 [Verbose] > │ let v49 : int32 = v48 - 1 │
00:00:29 #2575 [Verbose] > │ let v50 : float = v47.[int v49] │
00:00:29 #2576 [Verbose] > │ let v51 : int64 = v39.ElapsedMilliseconds │
00:00:29 #2577 [Verbose] > │ let v52 : int64 = v51 - v40 │
00:00:29 #2578 [Verbose] > │ let v53 : string = $"Test case {v35 + 1}. {v36}. Time: {v52} " │
00:00:29 #2579 [Verbose] > │ System.Console.WriteLine v53 │
00:00:29 #2580 [Verbose] > │ v31.[int v34] <- struct (v50, v52) │
00:00:29 #2581 [Verbose] > │ let v54 : uint64 = v34 + 1UL │
00:00:29 #2582 [Verbose] > │ v32.l0 <- v54 │
00:00:29 #2583 [Verbose] > │ () │
00:00:29 #2584 [Verbose] > │ let v55 : uint64 = System.Convert.ToUInt64 v31.Length │
00:00:29 #2585 [Verbose] > │ let v56 : (float []) = Array.zeroCreate<float> │
00:00:29 #2586 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2587 [Verbose] > │ let v57 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2588 [Verbose] > │ while method4(v55, v57) do │
00:00:29 #2589 [Verbose] > │ let v59 : uint64 = v57.l0 │
00:00:29 #2590 [Verbose] > │ let struct (v60 : float, v61 : int64) = v31.[int v59] │
00:00:29 #2591 [Verbose] > │ v56.[int v59] <- v60 │
00:00:29 #2592 [Verbose] > │ let v62 : uint64 = v59 + 1UL │
00:00:29 #2593 [Verbose] > │ v57.l0 <- v62 │
00:00:29 #2594 [Verbose] > │ () │
00:00:29 #2595 [Verbose] > │ let v63 : uint64 = System.Convert.ToUInt64 v56.Length │
00:00:29 #2596 [Verbose] > │ let v64 : bool = v63 <= 1UL │
00:00:29 #2597 [Verbose] > │ if v64 then │
00:00:29 #2598 [Verbose] > │ () │
00:00:29 #2599 [Verbose] > │ else │
00:00:29 #2600 [Verbose] > │ let v65 : float = v56.[int 0UL] │
00:00:29 #2601 [Verbose] > │ let v66 : uint64 = 0UL │
00:00:29 #2602 [Verbose] > │ let v67 : bool = method9(v65, v56, v66) │
00:00:29 #2603 [Verbose] > │ if v67 then │
00:00:29 #2604 [Verbose] > │ () │
00:00:29 #2605 [Verbose] > │ else │
00:00:29 #2606 [Verbose] > │ let v68 : string = $"Challenge error: {v56}" │
00:00:29 #2607 [Verbose] > │ failwith<unit> v68 │
00:00:29 #2608 [Verbose] > │ let v69 : string = $"%A{v21}" │
00:00:29 #2609 [Verbose] > │ let v70 : (float []) = Array.zeroCreate<float> │
00:00:29 #2610 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2611 [Verbose] > │ let v71 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2612 [Verbose] > │ while method4(v55, v71) do │
00:00:29 #2613 [Verbose] > │ let v73 : uint64 = v71.l0 │
00:00:29 #2614 [Verbose] > │ let struct (v74 : float, v75 : int64) = v31.[int v73] │
00:00:29 #2615 [Verbose] > │ v70.[int v73] <- v74 │
00:00:29 #2616 [Verbose] > │ let v76 : uint64 = v73 + 1UL │
00:00:29 #2617 [Verbose] > │ v71.l0 <- v76 │
00:00:29 #2618 [Verbose] > │ () │
00:00:29 #2619 [Verbose] > │ let v77 : float = v70.[int 0UL] │
00:00:29 #2620 [Verbose] > │ let v78 : string = $"%A{v77}" │
00:00:29 #2621 [Verbose] > │ let v79 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2622 [Verbose] > │ (System.Convert.ToInt32(v55)) │
00:00:29 #2623 [Verbose] > │ let v80 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2624 [Verbose] > │ while method4(v55, v80) do │
00:00:29 #2625 [Verbose] > │ let v82 : uint64 = v80.l0 │
00:00:29 #2626 [Verbose] > │ let struct (v83 : float, v84 : int64) = v31.[int v82] │
00:00:29 #2627 [Verbose] > │ v79.[int v82] <- v84 │
00:00:29 #2628 [Verbose] > │ let v85 : uint64 = v82 + 1UL │
00:00:29 #2629 [Verbose] > │ v80.l0 <- v85 │
00:00:29 #2630 [Verbose] > │ () │
00:00:29 #2631 [Verbose] > │ v16.[int v19] <- struct (v69, v22, v78, v79) │
00:00:29 #2632 [Verbose] > │ let v86 : uint64 = v19 + 1UL │
00:00:29 #2633 [Verbose] > │ v17.l0 <- v86 │
00:00:29 #2634 [Verbose] > │ () │
00:00:29 #2635 [Verbose] > │ let v87 : uint64 = System.Convert.ToUInt64 v16.Length │
00:00:29 #2636 [Verbose] > │ let v88 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:29 #2637 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:29 #2638 [Verbose] > │ let v89 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2639 [Verbose] > │ while method4(v87, v89) do │
00:00:29 #2640 [Verbose] > │ let v91 : uint64 = v89.l0 │
00:00:29 #2641 [Verbose] > │ let struct (v92 : string, v93 : string, v94 : string, v95 : (int64 [ │
00:00:29 #2642 [Verbose] > │ ])) = v16.[int v91] │
00:00:29 #2643 [Verbose] > │ let v96 : uint64 = System.Convert.ToUInt64 v95.Length │
00:00:29 #2644 [Verbose] > │ let v97 : UH3 = UH3_1 │
00:00:29 #2645 [Verbose] > │ let v98 : Mut2 = {l0 = 0UL; l1 = v97; l2 = 0L} : Mut2 │
00:00:29 #2646 [Verbose] > │ while method10(v96, v98) do │
00:00:29 #2647 [Verbose] > │ let v100 : uint64 = v98.l0 │
00:00:29 #2648 [Verbose] > │ let struct (v101 : UH3, v102 : int64) = v98.l1, v98.l2 │
00:00:29 #2649 [Verbose] > │ let v103 : int64 = v95.[int v100] │
00:00:29 #2650 [Verbose] > │ let v104 : int64 = v102 + 1L │
00:00:29 #2651 [Verbose] > │ let v105 : uint64 = v100 + 1UL │
00:00:29 #2652 [Verbose] > │ let v106 : UH3 = UH3_0(v102, v103, v101) │
00:00:29 #2653 [Verbose] > │ v98.l0 <- v105 │
00:00:29 #2654 [Verbose] > │ v98.l1 <- v106 │
00:00:29 #2655 [Verbose] > │ v98.l2 <- v104 │
00:00:29 #2656 [Verbose] > │ () │
00:00:29 #2657 [Verbose] > │ let struct (v107 : UH3, v108 : int64) = v98.l1, v98.l2 │
00:00:29 #2658 [Verbose] > │ let v109 : UH3 = UH3_1 │
00:00:29 #2659 [Verbose] > │ let v110 : UH3 = method11(v107, v109) │
00:00:29 #2660 [Verbose] > │ let v111 : (struct (int64 * int64) []) = method12(v110) │
00:00:29 #2661 [Verbose] > │ let v112 : int32 = v111.Length │
00:00:29 #2662 [Verbose] > │ let v113 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:29 #2663 [Verbose] > │ (int64 * int64)> (v112) │
00:00:29 #2664 [Verbose] > │ let v114 : Mut1 = {l0 = 0} : Mut1 │
00:00:29 #2665 [Verbose] > │ while method15(v112, v114) do │
00:00:29 #2666 [Verbose] > │ let v116 : int32 = v114.l0 │
00:00:29 #2667 [Verbose] > │ let struct (v117 : int64, v118 : int64) = v111.[int v116] │
00:00:29 #2668 [Verbose] > │ let v119 : int64 = v117 + 1L │
00:00:29 #2669 [Verbose] > │ v113.[int v116] <- struct (v119, v118) │
00:00:29 #2670 [Verbose] > │ let v120 : int32 = v116 + 1 │
00:00:29 #2671 [Verbose] > │ v114.l0 <- v120 │
00:00:29 #2672 [Verbose] > │ () │
00:00:29 #2673 [Verbose] > │ let v121 : (struct (int64 * int64) -> int64) = closure3() │
00:00:29 #2674 [Verbose] > │ let v122 : (struct (int64 * int64) []) = v113 |> Array.sortBy v121 │
00:00:29 #2675 [Verbose] > │ let struct (v123 : int64, v124 : int64) = v122.[int 0] │
00:00:29 #2676 [Verbose] > │ let v125 : string = $"%A{struct (v123, v124)}" │
00:00:29 #2677 [Verbose] > │ let v126 : bool = v92 = v94 │
00:00:29 #2678 [Verbose] > │ let v131 : US0 = │
00:00:29 #2679 [Verbose] > │ if v126 then │
00:00:29 #2680 [Verbose] > │ let v127 : System.ConsoleColor = │
00:00:29 #2681 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:29 #2682 [Verbose] > │ US0_1(v127) │
00:00:29 #2683 [Verbose] > │ else │
00:00:29 #2684 [Verbose] > │ let v129 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:29 #2685 [Verbose] > │ US0_1(v129) │
00:00:29 #2686 [Verbose] > │ let v132 : UH2 = UH2_1 │
00:00:29 #2687 [Verbose] > │ let v133 : UH2 = UH2_0(v125, v132) │
00:00:29 #2688 [Verbose] > │ let v134 : UH2 = UH2_0(v94, v133) │
00:00:29 #2689 [Verbose] > │ let v135 : UH2 = UH2_0(v92, v134) │
00:00:29 #2690 [Verbose] > │ let v136 : UH2 = UH2_0(v93, v135) │
00:00:29 #2691 [Verbose] > │ v88.[int v91] <- struct (v136, v131) │
00:00:29 #2692 [Verbose] > │ let v137 : uint64 = v91 + 1UL │
00:00:29 #2693 [Verbose] > │ v89.l0 <- v137 │
00:00:29 #2694 [Verbose] > │ () │
00:00:29 #2695 [Verbose] > │ let v138 : string = "Input" │
00:00:29 #2696 [Verbose] > │ let v139 : string = "Expected" │
00:00:29 #2697 [Verbose] > │ let v140 : string = "Result" │
00:00:29 #2698 [Verbose] > │ let v141 : string = "Best" │
00:00:29 #2699 [Verbose] > │ let v142 : UH2 = UH2_1 │
00:00:29 #2700 [Verbose] > │ let v143 : UH2 = UH2_0(v141, v142) │
00:00:29 #2701 [Verbose] > │ let v144 : UH2 = UH2_0(v140, v143) │
00:00:29 #2702 [Verbose] > │ let v145 : UH2 = UH2_0(v139, v144) │
00:00:29 #2703 [Verbose] > │ let v146 : UH2 = UH2_0(v138, v145) │
00:00:29 #2704 [Verbose] > │ let v147 : US0 = US0_0 │
00:00:29 #2705 [Verbose] > │ let v148 : string = "---" │
00:00:29 #2706 [Verbose] > │ let v149 : UH2 = UH2_1 │
00:00:29 #2707 [Verbose] > │ let v150 : UH2 = UH2_0(v148, v149) │
00:00:29 #2708 [Verbose] > │ let v151 : UH2 = UH2_0(v148, v150) │
00:00:29 #2709 [Verbose] > │ let v152 : UH2 = UH2_0(v148, v151) │
00:00:29 #2710 [Verbose] > │ let v153 : UH2 = UH2_0(v148, v152) │
00:00:29 #2711 [Verbose] > │ let v154 : US0 = US0_0 │
00:00:29 #2712 [Verbose] > │ let v155 : UH4 = UH4_1 │
00:00:29 #2713 [Verbose] > │ let v156 : UH4 = UH4_0(v153, v154, v155) │
00:00:29 #2714 [Verbose] > │ let v157 : UH4 = UH4_0(v146, v147, v156) │
00:00:29 #2715 [Verbose] > │ let v158 : (struct (UH2 * US0) []) = method16(v157) │
00:00:29 #2716 [Verbose] > │ let v159 : uint64 = System.Convert.ToUInt64 v158.Length │
00:00:29 #2717 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v88.Length │
00:00:29 #2718 [Verbose] > │ let v161 : uint64 = v159 + v160 │
00:00:29 #2719 [Verbose] > │ let v162 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:29 #2720 [Verbose] > │ US0)> (System.Convert.ToInt32(v161)) │
00:00:29 #2721 [Verbose] > │ let v163 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2722 [Verbose] > │ while method4(v161, v163) do │
00:00:29 #2723 [Verbose] > │ let v165 : uint64 = v163.l0 │
00:00:29 #2724 [Verbose] > │ let v166 : bool = v165 < v159 │
00:00:29 #2725 [Verbose] > │ let struct (v172 : UH2, v173 : US0) = │
00:00:29 #2726 [Verbose] > │ if v166 then │
00:00:29 #2727 [Verbose] > │ let struct (v167 : UH2, v168 : US0) = v158.[int v165] │
00:00:29 #2728 [Verbose] > │ struct (v167, v168) │
00:00:29 #2729 [Verbose] > │ else │
00:00:29 #2730 [Verbose] > │ let v169 : uint64 = v165 - v159 │
00:00:29 #2731 [Verbose] > │ let struct (v170 : UH2, v171 : US0) = v88.[int v169] │
00:00:29 #2732 [Verbose] > │ struct (v170, v171) │
00:00:29 #2733 [Verbose] > │ v162.[int v165] <- struct (v172, v173) │
00:00:29 #2734 [Verbose] > │ let v174 : uint64 = v165 + 1UL │
00:00:29 #2735 [Verbose] > │ v163.l0 <- v174 │
00:00:29 #2736 [Verbose] > │ () │
00:00:29 #2737 [Verbose] > │ let v175 : uint64 = System.Convert.ToUInt64 v162.Length │
00:00:29 #2738 [Verbose] > │ let v176 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:29 #2739 [Verbose] > │ (System.Convert.ToInt32(v175)) │
00:00:29 #2740 [Verbose] > │ let v177 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2741 [Verbose] > │ while method4(v175, v177) do │
00:00:29 #2742 [Verbose] > │ let v179 : uint64 = v177.l0 │
00:00:29 #2743 [Verbose] > │ let struct (v180 : UH2, v181 : US0) = v162.[int v179] │
00:00:29 #2744 [Verbose] > │ let v182 : (string []) = method19(v180) │
00:00:29 #2745 [Verbose] > │ v176.[int v179] <- v182 │
00:00:29 #2746 [Verbose] > │ let v183 : uint64 = v179 + 1UL │
00:00:29 #2747 [Verbose] > │ v177.l0 <- v183 │
00:00:29 #2748 [Verbose] > │ () │
00:00:29 #2749 [Verbose] > │ let v184 : ((string []) []) = v176 |> Array.transpose │
00:00:29 #2750 [Verbose] > │ let v185 : uint64 = System.Convert.ToUInt64 v184.Length │
00:00:29 #2751 [Verbose] > │ let v186 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2752 [Verbose] > │ (System.Convert.ToInt32(v185)) │
00:00:29 #2753 [Verbose] > │ let v187 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2754 [Verbose] > │ while method4(v185, v187) do │
00:00:29 #2755 [Verbose] > │ let v189 : uint64 = v187.l0 │
00:00:29 #2756 [Verbose] > │ let v190 : (string []) = v184.[int v189] │
00:00:29 #2757 [Verbose] > │ let v191 : uint64 = System.Convert.ToUInt64 v190.Length │
00:00:29 #2758 [Verbose] > │ let v192 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2759 [Verbose] > │ (System.Convert.ToInt32(v191)) │
00:00:29 #2760 [Verbose] > │ let v193 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2761 [Verbose] > │ while method4(v191, v193) do │
00:00:29 #2762 [Verbose] > │ let v195 : uint64 = v193.l0 │
00:00:29 #2763 [Verbose] > │ let v196 : string = v190.[int v195] │
00:00:29 #2764 [Verbose] > │ let v197 : int64 = System.Convert.ToInt64 v196.Length │
00:00:29 #2765 [Verbose] > │ v192.[int v195] <- v197 │
00:00:29 #2766 [Verbose] > │ let v198 : uint64 = v195 + 1UL │
00:00:29 #2767 [Verbose] > │ v193.l0 <- v198 │
00:00:29 #2768 [Verbose] > │ () │
00:00:29 #2769 [Verbose] > │ let v199 : (int64 []) = v192 |> Array.sortDescending │
00:00:29 #2770 [Verbose] > │ let v200 : int64 option = v199 |> Array.tryItem 0 │
00:00:29 #2771 [Verbose] > │ let v201 : (int64 -> US1) = closure4() │
00:00:29 #2772 [Verbose] > │ let v202 : US1 = US1_0 │
00:00:29 #2773 [Verbose] > │ let v203 : US1 = v200 |> Option.map v201 |> Option.defaultValue v202 │
00:00:29 #2774 [Verbose] > │ let v206 : int64 = │
00:00:29 #2775 [Verbose] > │ match v203 with │
00:00:29 #2776 [Verbose] > │ | US1_0 -> (* None *) │
00:00:29 #2777 [Verbose] > │ 0L │
00:00:29 #2778 [Verbose] > │ | US1_1(v204) -> (* Some *) │
00:00:29 #2779 [Verbose] > │ v204 │
00:00:29 #2780 [Verbose] > │ v186.[int v189] <- v206 │
00:00:29 #2781 [Verbose] > │ let v207 : uint64 = v189 + 1UL │
00:00:29 #2782 [Verbose] > │ v187.l0 <- v207 │
00:00:29 #2783 [Verbose] > │ () │
00:00:29 #2784 [Verbose] > │ let v208 : uint64 = System.Convert.ToUInt64 v186.Length │
00:00:29 #2785 [Verbose] > │ let v209 : UH5 = UH5_1 │
00:00:29 #2786 [Verbose] > │ let v210 : Mut3 = {l0 = 0UL; l1 = v209; l2 = 0} : Mut3 │
00:00:29 #2787 [Verbose] > │ while method22(v208, v210) do │
00:00:29 #2788 [Verbose] > │ let v212 : uint64 = v210.l0 │
00:00:29 #2789 [Verbose] > │ let struct (v213 : UH5, v214 : int32) = v210.l1, v210.l2 │
00:00:29 #2790 [Verbose] > │ let v215 : int64 = v186.[int v212] │
00:00:29 #2791 [Verbose] > │ let v216 : int32 = v214 + 1 │
00:00:29 #2792 [Verbose] > │ let v217 : uint64 = v212 + 1UL │
00:00:29 #2793 [Verbose] > │ let v218 : UH5 = UH5_0(v214, v215, v213) │
00:00:29 #2794 [Verbose] > │ v210.l0 <- v217 │
00:00:29 #2795 [Verbose] > │ v210.l1 <- v218 │
00:00:29 #2796 [Verbose] > │ v210.l2 <- v216 │
00:00:29 #2797 [Verbose] > │ () │
00:00:29 #2798 [Verbose] > │ let struct (v219 : UH5, v220 : int32) = v210.l1, v210.l2 │
00:00:29 #2799 [Verbose] > │ let v221 : UH5 = UH5_1 │
00:00:29 #2800 [Verbose] > │ let v222 : UH5 = method23(v219, v221) │
00:00:29 #2801 [Verbose] > │ let v223 : (struct (int32 * int64) []) = method24(v222) │
00:00:29 #2802 [Verbose] > │ let v224 : Map<int32, int64> = v223 |> Array.map (fun (struct (a, b)) -> │
00:00:29 #2803 [Verbose] > │ a, b) |> Map.ofArray │
00:00:29 #2804 [Verbose] > │ let v225 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:29 #2805 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v175)) │
00:00:29 #2806 [Verbose] > │ let v226 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2807 [Verbose] > │ while method4(v175, v226) do │
00:00:29 #2808 [Verbose] > │ let v228 : uint64 = v226.l0 │
00:00:29 #2809 [Verbose] > │ let struct (v229 : UH2, v230 : US0) = v162.[int v228] │
00:00:29 #2810 [Verbose] > │ let v231 : UH6 = UH6_1 │
00:00:29 #2811 [Verbose] > │ let v232 : int32 = 0 │
00:00:29 #2812 [Verbose] > │ let struct (v233 : UH6, v234 : int32) = method27(v229, v231, v232) │
00:00:29 #2813 [Verbose] > │ let v235 : UH6 = UH6_1 │
00:00:29 #2814 [Verbose] > │ let v236 : UH6 = method28(v233, v235) │
00:00:29 #2815 [Verbose] > │ let v237 : UH2 = UH2_1 │
00:00:29 #2816 [Verbose] > │ let v238 : UH2 = method29(v224, v236, v237) │
00:00:29 #2817 [Verbose] > │ let v239 : (string []) = method30(v238) │
00:00:29 #2818 [Verbose] > │ v225.[int v228] <- struct (v239, v230) │
00:00:29 #2819 [Verbose] > │ let v240 : uint64 = v228 + 1UL │
00:00:29 #2820 [Verbose] > │ v226.l0 <- v240 │
00:00:29 #2821 [Verbose] > │ () │
00:00:29 #2822 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2823 [Verbose] > │ let v241 : uint64 = System.Convert.ToUInt64 v225.Length │
00:00:29 #2824 [Verbose] > │ let v242 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2825 [Verbose] > │ while method4(v241, v242) do │
00:00:29 #2826 [Verbose] > │ let v244 : uint64 = v242.l0 │
00:00:29 #2827 [Verbose] > │ let struct (v245 : (string []), v246 : US0) = v225.[int v244] │
00:00:29 #2828 [Verbose] > │ match v246 with │
00:00:29 #2829 [Verbose] > │ | US0_0 -> (* None *) │
00:00:29 #2830 [Verbose] > │ let mutable result = None │
00:00:29 #2831 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2832 [Verbose] > │ #if !WASM │
00:00:29 #2833 [Verbose] > │ () │
00:00:29 #2834 [Verbose] > │ #else │
00:00:29 #2835 [Verbose] > │ () │
00:00:29 #2836 [Verbose] > │ #endif │
00:00:29 #2837 [Verbose] > │ #else │
00:00:29 #2838 [Verbose] > │ System.Console.ResetColor () │
00:00:29 #2839 [Verbose] > │ () │
00:00:29 #2840 [Verbose] > │ #endif │
00:00:29 #2841 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2842 [Verbose] > │ result |> Option.get │
00:00:29 #2843 [Verbose] > │ () │
00:00:29 #2844 [Verbose] > │ | US0_1(v247) -> (* Some *) │
00:00:29 #2845 [Verbose] > │ let mutable result = None │
00:00:29 #2846 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2847 [Verbose] > │ #if !WASM │
00:00:29 #2848 [Verbose] > │ () │
00:00:29 #2849 [Verbose] > │ #else │
00:00:29 #2850 [Verbose] > │ () │
00:00:29 #2851 [Verbose] > │ #endif │
00:00:29 #2852 [Verbose] > │ #else │
00:00:29 #2853 [Verbose] > │ System.Console.ForegroundColor <- v247 │
00:00:29 #2854 [Verbose] > │ () │
00:00:29 #2855 [Verbose] > │ #endif │
00:00:29 #2856 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2857 [Verbose] > │ result |> Option.get │
00:00:29 #2858 [Verbose] > │ () │
00:00:29 #2859 [Verbose] > │ let v248 : string = "\t| " │
00:00:29 #2860 [Verbose] > │ let v249 : string = System.String.Join (v248, v245) │
00:00:29 #2861 [Verbose] > │ System.Console.WriteLine v249 │
00:00:29 #2862 [Verbose] > │ let mutable result = None │
00:00:29 #2863 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:29 #2864 [Verbose] > │ #if !WASM │
00:00:29 #2865 [Verbose] > │ () │
00:00:29 #2866 [Verbose] > │ #else │
00:00:29 #2867 [Verbose] > │ () │
00:00:29 #2868 [Verbose] > │ #endif │
00:00:29 #2869 [Verbose] > │ #else │
00:00:29 #2870 [Verbose] > │ System.Console.ResetColor () │
00:00:29 #2871 [Verbose] > │ () │
00:00:29 #2872 [Verbose] > │ #endif │
00:00:29 #2873 [Verbose] > │ |> fun x -> result <- Some x │
00:00:29 #2874 [Verbose] > │ result |> Option.get │
00:00:29 #2875 [Verbose] > │ let v250 : uint64 = v244 + 1UL │
00:00:29 #2876 [Verbose] > │ v242.l0 <- v250 │
00:00:29 #2877 [Verbose] > │ () │
00:00:29 #2878 [Verbose] > │ let v251 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:29 #2879 [Verbose] > │ (System.Convert.ToInt32(v87)) │
00:00:29 #2880 [Verbose] > │ let v252 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2881 [Verbose] > │ while method4(v87, v252) do │
00:00:29 #2882 [Verbose] > │ let v254 : uint64 = v252.l0 │
00:00:29 #2883 [Verbose] > │ let struct (v255 : string, v256 : string, v257 : string, v258 : │
00:00:29 #2884 [Verbose] > │ (int64 [])) = v16.[int v254] │
00:00:29 #2885 [Verbose] > │ let v259 : (int64 -> float) = float │
00:00:29 #2886 [Verbose] > │ let v260 : uint64 = System.Convert.ToUInt64 v258.Length │
00:00:29 #2887 [Verbose] > │ let v261 : (float []) = Array.zeroCreate<float> │
00:00:29 #2888 [Verbose] > │ (System.Convert.ToInt32(v260)) │
00:00:29 #2889 [Verbose] > │ let v262 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2890 [Verbose] > │ while method4(v260, v262) do │
00:00:29 #2891 [Verbose] > │ let v264 : uint64 = v262.l0 │
00:00:29 #2892 [Verbose] > │ let v265 : int64 = v258.[int v264] │
00:00:29 #2893 [Verbose] > │ let v266 : float = v259 v265 │
00:00:29 #2894 [Verbose] > │ v261.[int v264] <- v266 │
00:00:29 #2895 [Verbose] > │ let v267 : uint64 = v264 + 1UL │
00:00:29 #2896 [Verbose] > │ v262.l0 <- v267 │
00:00:29 #2897 [Verbose] > │ () │
00:00:29 #2898 [Verbose] > │ v251.[int v254] <- v261 │
00:00:29 #2899 [Verbose] > │ let v268 : uint64 = v254 + 1UL │
00:00:29 #2900 [Verbose] > │ v252.l0 <- v268 │
00:00:29 #2901 [Verbose] > │ () │
00:00:29 #2902 [Verbose] > │ let v269 : ((float []) []) = v251 |> Array.transpose │
00:00:29 #2903 [Verbose] > │ let v270 : uint64 = System.Convert.ToUInt64 v269.Length │
00:00:29 #2904 [Verbose] > │ let v271 : (float []) = Array.zeroCreate<float> │
00:00:29 #2905 [Verbose] > │ (System.Convert.ToInt32(v270)) │
00:00:29 #2906 [Verbose] > │ let v272 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2907 [Verbose] > │ while method4(v270, v272) do │
00:00:29 #2908 [Verbose] > │ let v274 : uint64 = v272.l0 │
00:00:29 #2909 [Verbose] > │ let v275 : (float []) = v269.[int v274] │
00:00:29 #2910 [Verbose] > │ let v276 : float = v275 |> Array.average │
00:00:29 #2911 [Verbose] > │ v271.[int v274] <- v276 │
00:00:29 #2912 [Verbose] > │ let v277 : uint64 = v274 + 1UL │
00:00:29 #2913 [Verbose] > │ v272.l0 <- v277 │
00:00:29 #2914 [Verbose] > │ () │
00:00:29 #2915 [Verbose] > │ let v278 : (float -> int64) = int64 │
00:00:29 #2916 [Verbose] > │ let v279 : uint64 = System.Convert.ToUInt64 v271.Length │
00:00:29 #2917 [Verbose] > │ let v280 : (int64 []) = Array.zeroCreate<int64> │
00:00:29 #2918 [Verbose] > │ (System.Convert.ToInt32(v279)) │
00:00:29 #2919 [Verbose] > │ let v281 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2920 [Verbose] > │ while method4(v279, v281) do │
00:00:29 #2921 [Verbose] > │ let v283 : uint64 = v281.l0 │
00:00:29 #2922 [Verbose] > │ let v284 : float = v271.[int v283] │
00:00:29 #2923 [Verbose] > │ let v285 : int64 = v278 v284 │
00:00:29 #2924 [Verbose] > │ v280.[int v283] <- v285 │
00:00:29 #2925 [Verbose] > │ let v286 : uint64 = v283 + 1UL │
00:00:29 #2926 [Verbose] > │ v281.l0 <- v286 │
00:00:29 #2927 [Verbose] > │ () │
00:00:29 #2928 [Verbose] > │ let v287 : uint64 = System.Convert.ToUInt64 v280.Length │
00:00:29 #2929 [Verbose] > │ let v288 : UH5 = UH5_1 │
00:00:29 #2930 [Verbose] > │ let v289 : Mut3 = {l0 = 0UL; l1 = v288; l2 = 0} : Mut3 │
00:00:29 #2931 [Verbose] > │ while method22(v287, v289) do │
00:00:29 #2932 [Verbose] > │ let v291 : uint64 = v289.l0 │
00:00:29 #2933 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v289.l1, v289.l2 │
00:00:29 #2934 [Verbose] > │ let v294 : int64 = v280.[int v291] │
00:00:29 #2935 [Verbose] > │ let v295 : int32 = v293 + 1 │
00:00:29 #2936 [Verbose] > │ let v296 : uint64 = v291 + 1UL │
00:00:29 #2937 [Verbose] > │ let v297 : UH5 = UH5_0(v293, v294, v292) │
00:00:29 #2938 [Verbose] > │ v289.l0 <- v296 │
00:00:29 #2939 [Verbose] > │ v289.l1 <- v297 │
00:00:29 #2940 [Verbose] > │ v289.l2 <- v295 │
00:00:29 #2941 [Verbose] > │ () │
00:00:29 #2942 [Verbose] > │ let struct (v298 : UH5, v299 : int32) = v289.l1, v289.l2 │
00:00:29 #2943 [Verbose] > │ let v300 : UH5 = UH5_1 │
00:00:29 #2944 [Verbose] > │ let v301 : UH5 = method23(v298, v300) │
00:00:29 #2945 [Verbose] > │ let v302 : (struct (int32 * int64) []) = method33(v301) │
00:00:29 #2946 [Verbose] > │ System.Console.WriteLine v2 │
00:00:29 #2947 [Verbose] > │ let v303 : string = "Average Ranking " │
00:00:29 #2948 [Verbose] > │ System.Console.WriteLine v303 │
00:00:29 #2949 [Verbose] > │ let v304 : (struct (int32 * int64) -> int64) = closure5() │
00:00:29 #2950 [Verbose] > │ let v305 : (struct (int32 * int64) []) = v302 |> Array.sortBy v304 │
00:00:29 #2951 [Verbose] > │ let v306 : uint64 = System.Convert.ToUInt64 v305.Length │
00:00:29 #2952 [Verbose] > │ let v307 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:29 #2953 [Verbose] > │ while method4(v306, v307) do │
00:00:29 #2954 [Verbose] > │ let v309 : uint64 = v307.l0 │
00:00:29 #2955 [Verbose] > │ let struct (v310 : int32, v311 : int64) = v305.[int v309] │
00:00:29 #2956 [Verbose] > │ let v312 : string = $"Test case %d{v310 + 1}. Average Time: %A{v311} │
00:00:29 #2957 [Verbose] > │ " │
00:00:29 #2958 [Verbose] > │ System.Console.WriteLine v312 │
00:00:29 #2959 [Verbose] > │ let v313 : uint64 = v309 + 1UL │
00:00:29 #2960 [Verbose] > │ v307.l0 <- v313 │
00:00:29 #2961 [Verbose] > │ () │
00:00:29 #2962 [Verbose] > │ () │
00:00:29 #2963 [Verbose] > │ method0() │
00:00:29 #2964 [Verbose] > │ │
00:00:29 #2965 [Verbose] > │ │
00:00:29 #2966 [Verbose] > │ │
00:00:29 #2967 [Verbose] > │ Test: v0 │
00:00:29 #2968 [Verbose] > │ │
00:00:29 #2969 [Verbose] > │ Solution: 0.0 │
00:00:29 #2970 [Verbose] > │ Test case 1. A. Time: 27 │
00:00:29 #2971 [Verbose] > │ │
00:00:29 #2972 [Verbose] > │ Solution: 2.0 │
00:00:29 #2973 [Verbose] > │ Test case 1. A. Time: 13 │
00:00:29 #2974 [Verbose] > │ │
00:00:29 #2975 [Verbose] > │ Solution: 5.0 │
00:00:29 #2976 [Verbose] > │ Test case 1. A. Time: 11 │
00:00:29 #2977 [Verbose] > │ │
00:00:29 #2978 [Verbose] > │ Input | Expected | Result | Best │
00:00:29 #2979 [Verbose] > │ --- | --- | --- | --- │
00:00:29 #2980 [Verbose] > │ 0.0 | 1.0 | 1.0 | struct (1L, 27L) │
00:00:29 #2981 [Verbose] > │ 2.0 | 3.0 | 3.0 | struct (1L, 13L) │
00:00:29 #2982 [Verbose] > │ 5.0 | 6.0 | 6.0 | struct (1L, 11L) │
00:00:29 #2983 [Verbose] > │ │
00:00:29 #2984 [Verbose] > │ Average Ranking │
00:00:29 #2985 [Verbose] > │ Test case 1. Average Time: 17L │
00:00:29 #2986 [Verbose] > │ │
00:00:29 #2987 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2988 [Verbose] > [NbConvertApp] Converting notebook benchmark.dib.ipynb to html
00:00:31 #2989 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:31 #2990 [Verbose] > validate(nb)
00:00:31 #2991 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:31 #2992 [Verbose] > return _pygments_highlight(
00:00:32 #2993 [Verbose] > [NbConvertApp] Writing 411344 bytes to benchmark.dib.html
00:00:32 #2994 [Debug] executeAsync / exitCode: 0 / output.Length: 222788
00:00:32 #2995 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 stream.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # stream │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 #16 [Verbose] >
00:00:03 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:03 #18 [Verbose] > // // test
00:00:03 #19 [Verbose] >
00:00:03 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2514-1419-1a9328256e49\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.41s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > union rec stream t =
00:00:09 #31 [Verbose] > | StreamCons : t * (() -> stream t)
00:00:09 #32 [Verbose] > | StreamNil
00:00:09 #33 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2818-1842-1a4196678977\main.spi
00:00:09 #34 [Verbose] >
00:00:09 #35 [Verbose] > ╭─[ 259.67ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #36 [Verbose] > │ () │
00:00:09 #37 [Verbose] > │ │
00:00:09 #38 [Verbose] > │ │
00:00:09 #39 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #40 [Verbose] >
00:00:09 #41 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #42 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #43 [Verbose] > │ ## fold │
00:00:09 #44 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #45 [Verbose] >
00:00:09 #46 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #47 [Verbose] > inl fold fn init s =
00:00:09 #48 [Verbose] > inl rec body acc = function
00:00:09 #49 [Verbose] > | StreamCons (st, fn') => loop (fn acc st) (fn' ())
00:00:09 #50 [Verbose] > | StreamNil => acc
00:00:09 #51 [Verbose] > and inl loop acc = join_body body acc
00:00:09 #52 [Verbose] > loop init s
00:00:09 #53 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2845-4559-47f9f7aaf47a\main.spi
00:00:09 #54 [Verbose] >
00:00:09 #55 [Verbose] > ╭─[ 179.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #56 [Verbose] > │ () │
00:00:09 #57 [Verbose] > │ │
00:00:09 #58 [Verbose] > │ │
00:00:09 #59 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #60 [Verbose] >
00:00:09 #61 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #62 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #63 [Verbose] > │ ## fold_back │
00:00:09 #64 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #65 [Verbose] >
00:00:09 #66 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #67 [Verbose] > inl fold_back fn s init =
00:00:09 #68 [Verbose] > inl rec body acc = function
00:00:09 #69 [Verbose] > | StreamCons (st, fn') => fn st (loop acc (fn' ()))
00:00:09 #70 [Verbose] > | StreamNil => acc
00:00:09 #71 [Verbose] > and inl loop acc = join_body body acc
00:00:09 #72 [Verbose] > loop init s
00:00:09 #73 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2863-6351-61aa315885ac\main.spi
00:00:09 #74 [Verbose] >
00:00:09 #75 [Verbose] > ╭─[ 182.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #76 [Verbose] > │ () │
00:00:09 #77 [Verbose] > │ │
00:00:09 #78 [Verbose] > │ │
00:00:09 #79 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #80 [Verbose] >
00:00:09 #81 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #82 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #83 [Verbose] > │ ## to_list │
00:00:09 #84 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #85 [Verbose] >
00:00:09 #86 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #87 [Verbose] > inl to_list s =
00:00:09 #88 [Verbose] > (s, [[]])
00:00:09 #89 [Verbose] > ||> fold_back fun x acc =>
00:00:09 #90 [Verbose] > x :: acc
00:00:10 #91 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2882-8219-852e5ad45b93\main.spi
00:00:10 #92 [Verbose] >
00:00:10 #93 [Verbose] > ╭─[ 183.05ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #94 [Verbose] > │ () │
00:00:10 #95 [Verbose] > │ │
00:00:10 #96 [Verbose] > │ │
00:00:10 #97 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #98 [Verbose] >
00:00:10 #99 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #100 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #101 [Verbose] > │ ## rev │
00:00:10 #102 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #103 [Verbose] >
00:00:10 #104 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #105 [Verbose] > inl rev s =
00:00:10 #106 [Verbose] > (StreamNil, s)
00:00:10 #107 [Verbose] > ||> fold fun s x =>
00:00:10 #108 [Verbose] > StreamCons (x, fun () => s)
00:00:10 #109 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2901-0104-0312ebcfc7e2\main.spi
00:00:10 #110 [Verbose] >
00:00:10 #111 [Verbose] > ╭─[ 188.74ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #112 [Verbose] > │ () │
00:00:10 #113 [Verbose] > │ │
00:00:10 #114 [Verbose] > │ │
00:00:10 #115 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #116 [Verbose] >
00:00:10 #117 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #118 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #119 [Verbose] > │ ## from_list │
00:00:10 #120 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #121 [Verbose] >
00:00:10 #122 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #123 [Verbose] > inl from_list list =
00:00:10 #124 [Verbose] > (list, StreamNil)
00:00:10 #125 [Verbose] > ||> listm.foldBack fun x acc =>
00:00:10 #126 [Verbose] > StreamCons (x, fun () => acc)
00:00:10 #127 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2920-2042-274ef9f68fea\main.spi
00:00:10 #128 [Verbose] >
00:00:10 #129 [Verbose] > ╭─[ 183.88ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #130 [Verbose] > │ () │
00:00:10 #131 [Verbose] > │ │
00:00:10 #132 [Verbose] > │ │
00:00:10 #133 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #134 [Verbose] >
00:00:10 #135 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #136 [Verbose] > // // test
00:00:10 #137 [Verbose] >
00:00:10 #138 [Verbose] > listm.init 3i32 id
00:00:10 #139 [Verbose] > |> from_list
00:00:10 #140 [Verbose] > |> rev
00:00:10 #141 [Verbose] > |> to_list
00:00:10 #142 [Verbose] > |> _equal [[ 2; 1; 0 ]]
00:00:10 #143 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-2939-3909-3c9dd447ed3b\main.spi
00:00:11 #144 [Verbose] >
00:00:11 #145 [Verbose] > ╭─[ 1.31s - stdout ]───────────────────────────────────────────────────────────╮
00:00:11 #146 [Verbose] > │ type UH0 = │
00:00:11 #147 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:11 #148 [Verbose] > │ | UH0_1 │
00:00:11 #149 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #150 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:11 #151 [Verbose] > │ let v19 : UH0 = UH0_0(0, v18) │
00:00:11 #152 [Verbose] > │ let v20 : UH0 = UH0_0(1, v19) │
00:00:11 #153 [Verbose] > │ let v21 : UH0 = UH0_0(2, v20) │
00:00:11 #154 [Verbose] > │ let v22 : UH0 = UH0_1 │
00:00:11 #155 [Verbose] > │ let v23 : UH0 = UH0_0(0, v22) │
00:00:11 #156 [Verbose] > │ let v24 : UH0 = UH0_0(1, v23) │
00:00:11 #157 [Verbose] > │ let v25 : UH0 = UH0_0(2, v24) │
00:00:11 #158 [Verbose] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
00:00:11 #159 [Verbose] > │ () │
00:00:11 #160 [Verbose] > │ method0() │
00:00:11 #161 [Verbose] > │ │
00:00:11 #162 [Verbose] > │ │
00:00:11 #163 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #164 [Verbose] >
00:00:11 #165 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 #166 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 #167 [Verbose] > │ ## try_item │
00:00:11 #168 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #169 [Verbose] >
00:00:11 #170 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 #171 [Verbose] > inl try_item i s =
00:00:11 #172 [Verbose] > inl rec body i = function
00:00:11 #173 [Verbose] > | StreamCons (x, _) when i <= 0 => Some x
00:00:11 #174 [Verbose] > | StreamCons (_, fn) => loop (i - 1) (fn ())
00:00:11 #175 [Verbose] > | StreamNil => None
00:00:11 #176 [Verbose] > and inl loop acc s' =
00:00:11 #177 [Verbose] > match var_is acc, var_is s' with
00:00:11 #178 [Verbose] > | false, false => body acc s'
00:00:11 #179 [Verbose] > | _ =>
00:00:11 #180 [Verbose] > inl acc = dyn acc
00:00:11 #181 [Verbose] > inl s' = dyn s'
00:00:11 #182 [Verbose] > join body acc s'
00:00:11 #183 [Verbose] > loop i s
00:00:11 #184 [Verbose] >
00:00:11 #185 [Verbose] > inl item i =
00:00:11 #186 [Verbose] > try_item i >> optionm.value
00:00:11 #187 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3071-7171-72dec47d499d\main.spi
00:00:12 #188 [Verbose] >
00:00:12 #189 [Verbose] > ╭─[ 195.86ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #190 [Verbose] > │ () │
00:00:12 #191 [Verbose] > │ │
00:00:12 #192 [Verbose] > │ │
00:00:12 #193 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #194 [Verbose] >
00:00:12 #195 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #196 [Verbose] > // // test
00:00:12 #197 [Verbose] >
00:00:12 #198 [Verbose] > listm.init 10i32 id
00:00:12 #199 [Verbose] > |> from_list
00:00:12 #200 [Verbose] > |> item 9i32
00:00:12 #201 [Verbose] > |> _equal 9
00:00:12 #202 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3091-9125-942f4bf59735\main.spi
00:00:12 #203 [Verbose] >
00:00:12 #204 [Verbose] > ╭─[ 192.81ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #205 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #206 [Verbose] > │ let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}" │
00:00:12 #207 [Verbose] > │ () │
00:00:12 #208 [Verbose] > │ method0() │
00:00:12 #209 [Verbose] > │ │
00:00:12 #210 [Verbose] > │ │
00:00:12 #211 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #212 [Verbose] >
00:00:12 #213 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #214 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #215 [Verbose] > │ ## new_infinite_stream │
00:00:12 #216 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #217 [Verbose] >
00:00:12 #218 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #219 [Verbose] > inl new_infinite_stream fn =
00:00:12 #220 [Verbose] > inl rec loop n =
00:00:12 #221 [Verbose] > StreamCons (fn n, fun () => loop (n + 1))
00:00:12 #222 [Verbose] > loop 0
00:00:12 #223 [Verbose] >
00:00:12 #224 [Verbose] > inl new_infinite_stream_ fn =
00:00:12 #225 [Verbose] > let rec loop n =
00:00:12 #226 [Verbose] > StreamCons (fn n, fun () => loop (n + 1))
00:00:12 #227 [Verbose] > loop 0
00:00:12 #228 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3111-1122-183e077992cc\main.spi
00:00:12 #229 [Verbose] >
00:00:12 #230 [Verbose] > ╭─[ 193.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #231 [Verbose] > │ () │
00:00:12 #232 [Verbose] > │ │
00:00:12 #233 [Verbose] > │ │
00:00:12 #234 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #235 [Verbose] >
00:00:12 #236 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #237 [Verbose] > // // test
00:00:12 #238 [Verbose] >
00:00:12 #239 [Verbose] > new_infinite_stream print_and_return
00:00:12 #240 [Verbose] > |> item 4i32
00:00:12 #241 [Verbose] > |> _equal 4i32
00:00:12 #242 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3130-3066-3da76e91090d\main.spi
00:00:12 #243 [Verbose] >
00:00:12 #244 [Verbose] > ╭─[ 237.82ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #245 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #246 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:12 #247 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:12 #248 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:12 #249 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:12 #250 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:12 #251 [Verbose] > │ let v0 : string = $"_equal / actual: %A{4} / expected: %A{4}" │
00:00:12 #252 [Verbose] > │ () │
00:00:12 #253 [Verbose] > │ method0() │
00:00:12 #254 [Verbose] > │ │
00:00:12 #255 [Verbose] > │ print_and_return / x: 0 │
00:00:12 #256 [Verbose] > │ print_and_return / x: 1 │
00:00:12 #257 [Verbose] > │ print_and_return / x: 2 │
00:00:12 #258 [Verbose] > │ print_and_return / x: 3 │
00:00:12 #259 [Verbose] > │ print_and_return / x: 4 │
00:00:12 #260 [Verbose] > │ │
00:00:12 #261 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #262 [Verbose] >
00:00:12 #263 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #264 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #265 [Verbose] > │ ## new_finite_stream │
00:00:12 #266 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #267 [Verbose] >
00:00:12 #268 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #269 [Verbose] > inl new_finite_stream fn max =
00:00:12 #270 [Verbose] > inl rec loop n =
00:00:12 #271 [Verbose] > if n >= max
00:00:12 #272 [Verbose] > then StreamNil
00:00:12 #273 [Verbose] > else StreamCons (fn n, fun () => loop (n + 1))
00:00:12 #274 [Verbose] > loop 0
00:00:12 #275 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3156-5658-531ae121941e\main.spi
00:00:12 #276 [Verbose] >
00:00:12 #277 [Verbose] > ╭─[ 217.06ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #278 [Verbose] > │ () │
00:00:12 #279 [Verbose] > │ │
00:00:12 #280 [Verbose] > │ │
00:00:12 #281 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #282 [Verbose] >
00:00:12 #283 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #284 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #285 [Verbose] > │ ## memoize │
00:00:12 #286 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #287 [Verbose] >
00:00:12 #288 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #289 [Verbose] > union memoized_stream t =
00:00:12 #290 [Verbose] > | NotComputed : () -> stream t
00:00:12 #291 [Verbose] > | Computed : stream t
00:00:12 #292 [Verbose] >
00:00:12 #293 [Verbose] > inl memoize s =
00:00:12 #294 [Verbose] > inl rec body s =
00:00:12 #295 [Verbose] > inl state = mut (NotComputed s)
00:00:12 #296 [Verbose] > fun () =>
00:00:12 #297 [Verbose] > match *state with
00:00:12 #298 [Verbose] > | Computed x => x
00:00:12 #299 [Verbose] > | NotComputed fn =>
00:00:12 #300 [Verbose] > inl new_state =
00:00:12 #301 [Verbose] > match fn () with
00:00:12 #302 [Verbose] > | StreamNil => StreamNil
00:00:12 #303 [Verbose] > | StreamCons (x, fn) => StreamCons (x, loop fn)
00:00:12 #304 [Verbose] > state <- Computed new_state
00:00:12 #305 [Verbose] > new_state
00:00:12 #306 [Verbose] > and inl loop s' = join_body_unit body s s'
00:00:12 #307 [Verbose] > loop (fun () => s)
00:00:13 #308 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3177-7780-7e3ce91df0db\main.spi
00:00:13 #309 [Verbose] >
00:00:13 #310 [Verbose] > ╭─[ 183.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #311 [Verbose] > │ () │
00:00:13 #312 [Verbose] > │ │
00:00:13 #313 [Verbose] > │ │
00:00:13 #314 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #315 [Verbose] >
00:00:13 #316 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #317 [Verbose] > // // test
00:00:13 #318 [Verbose] >
00:00:13 #319 [Verbose] > inl memo_stream = new_finite_stream print_and_return 10 |> memoize
00:00:13 #320 [Verbose] >
00:00:13 #321 [Verbose] > memo_stream ()
00:00:13 #322 [Verbose] > |> item 3i32
00:00:13 #323 [Verbose] > |> _equal 3i32
00:00:13 #324 [Verbose] >
00:00:13 #325 [Verbose] > memo_stream ()
00:00:13 #326 [Verbose] > |> item 5i32
00:00:13 #327 [Verbose] > |> _equal 5i32
00:00:13 #328 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3196-9643-922f6810e259\main.spi
00:00:13 #329 [Verbose] >
00:00:13 #330 [Verbose] > ╭─[ 875.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #331 [Verbose] > │ type UH0 = │
00:00:13 #332 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │
00:00:13 #333 [Verbose] > │ | UH0_1 │
00:00:13 #334 [Verbose] > │ and [<Struct>] US0 = │
00:00:13 #335 [Verbose] > │ | US0_0 of f0_0 : UH0 │
00:00:13 #336 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │
00:00:13 #337 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:13 #338 [Verbose] > │ and [<Struct>] US1 = │
00:00:13 #339 [Verbose] > │ | US1_0 │
00:00:13 #340 [Verbose] > │ | US1_1 of f1_0 : int32 │
00:00:13 #341 [Verbose] > │ let rec closure10 () () : UH0 = │
00:00:13 #342 [Verbose] > │ UH0_1 │
00:00:13 #343 [Verbose] > │ and closure9 () () : UH0 = │
00:00:13 #344 [Verbose] > │ printfn $"print_and_return / x: {9}" │
00:00:13 #345 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │
00:00:13 #346 [Verbose] > │ UH0_0(9, v0) │
00:00:13 #347 [Verbose] > │ and closure8 () () : UH0 = │
00:00:13 #348 [Verbose] > │ printfn $"print_and_return / x: {8}" │
00:00:13 #349 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │
00:00:13 #350 [Verbose] > │ UH0_0(8, v0) │
00:00:13 #351 [Verbose] > │ and closure7 () () : UH0 = │
00:00:13 #352 [Verbose] > │ printfn $"print_and_return / x: {7}" │
00:00:13 #353 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │
00:00:13 #354 [Verbose] > │ UH0_0(7, v0) │
00:00:13 #355 [Verbose] > │ and closure6 () () : UH0 = │
00:00:13 #356 [Verbose] > │ printfn $"print_and_return / x: {6}" │
00:00:13 #357 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │
00:00:13 #358 [Verbose] > │ UH0_0(6, v0) │
00:00:13 #359 [Verbose] > │ and closure5 () () : UH0 = │
00:00:13 #360 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:13 #361 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │
00:00:13 #362 [Verbose] > │ UH0_0(5, v0) │
00:00:13 #363 [Verbose] > │ and closure4 () () : UH0 = │
00:00:13 #364 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:13 #365 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │
00:00:13 #366 [Verbose] > │ UH0_0(4, v0) │
00:00:13 #367 [Verbose] > │ and closure3 () () : UH0 = │
00:00:13 #368 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:13 #369 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │
00:00:13 #370 [Verbose] > │ UH0_0(3, v0) │
00:00:13 #371 [Verbose] > │ and closure2 () () : UH0 = │
00:00:13 #372 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:13 #373 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │
00:00:13 #374 [Verbose] > │ UH0_0(2, v0) │
00:00:13 #375 [Verbose] > │ and closure1 () () : UH0 = │
00:00:13 #376 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:13 #377 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │
00:00:13 #378 [Verbose] > │ UH0_0(1, v0) │
00:00:14 #379 [Verbose] > │ and closure0 () () : UH0 = │
00:00:14 #380 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │
00:00:14 #381 [Verbose] > │ UH0_0(0, v0) │
00:00:14 #382 [Verbose] > │ and closure11 (v0 : Mut0) () : UH0 = │
00:00:14 #383 [Verbose] > │ let v1 : US0 = v0.l0 │
00:00:14 #384 [Verbose] > │ match v1 with │
00:00:14 #385 [Verbose] > │ | US0_0(v2) -> (* Computed *) │
00:00:14 #386 [Verbose] > │ v2 │
00:00:14 #387 [Verbose] > │ | US0_1(v3) -> (* NotComputed *) │
00:00:14 #388 [Verbose] > │ let v4 : UH0 = v3 () │
00:00:14 #389 [Verbose] > │ let v13 : UH0 = │
00:00:14 #390 [Verbose] > │ match v4 with │
00:00:14 #391 [Verbose] > │ | UH0_0(v6, v7) -> (* StreamCons *) │
00:00:14 #392 [Verbose] > │ let v8 : US0 = US0_1(v7) │
00:00:14 #393 [Verbose] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
00:00:14 #394 [Verbose] > │ let v10 : (unit -> UH0) = closure11(v9) │
00:00:14 #395 [Verbose] > │ UH0_0(v6, v10) │
00:00:14 #396 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #397 [Verbose] > │ UH0_1 │
00:00:14 #398 [Verbose] > │ let v14 : US0 = US0_0(v13) │
00:00:14 #399 [Verbose] > │ v0.l0 <- v14 │
00:00:14 #400 [Verbose] > │ v13 │
00:00:14 #401 [Verbose] > │ and method1 (v0 : int32, v1 : UH0) : US1 = │
00:00:14 #402 [Verbose] > │ match v1 with │
00:00:14 #403 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:14 #404 [Verbose] > │ let v4 : bool = v0 <= 0 │
00:00:14 #405 [Verbose] > │ if v4 then │
00:00:14 #406 [Verbose] > │ US1_1(v2) │
00:00:14 #407 [Verbose] > │ else │
00:00:14 #408 [Verbose] > │ let v6 : int32 = v0 - 1 │
00:00:14 #409 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:14 #410 [Verbose] > │ method1(v6, v7) │
00:00:14 #411 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #412 [Verbose] > │ US1_0 │
00:00:14 #413 [Verbose] > │ and method0 () : unit = │
00:00:14 #414 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:14 #415 [Verbose] > │ let v0 : (unit -> UH0) = closure0() │
00:00:14 #416 [Verbose] > │ let v1 : US0 = US0_1(v0) │
00:00:14 #417 [Verbose] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │
00:00:14 #418 [Verbose] > │ let v3 : US0 = v2.l0 │
00:00:14 #419 [Verbose] > │ let v18 : UH0 = │
00:00:14 #420 [Verbose] > │ match v3 with │
00:00:14 #421 [Verbose] > │ | US0_0(v4) -> (* Computed *) │
00:00:14 #422 [Verbose] > │ v4 │
00:00:14 #423 [Verbose] > │ | US0_1(v5) -> (* NotComputed *) │
00:00:14 #424 [Verbose] > │ let v6 : UH0 = v5 () │
00:00:14 #425 [Verbose] > │ let v15 : UH0 = │
00:00:14 #426 [Verbose] > │ match v6 with │
00:00:14 #427 [Verbose] > │ | UH0_0(v8, v9) -> (* StreamCons *) │
00:00:14 #428 [Verbose] > │ let v10 : US0 = US0_1(v9) │
00:00:14 #429 [Verbose] > │ let v11 : Mut0 = {l0 = v10} : Mut0 │
00:00:14 #430 [Verbose] > │ let v12 : (unit -> UH0) = closure11(v11) │
00:00:14 #431 [Verbose] > │ UH0_0(v8, v12) │
00:00:14 #432 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #433 [Verbose] > │ UH0_1 │
00:00:14 #434 [Verbose] > │ let v16 : US0 = US0_0(v15) │
00:00:14 #435 [Verbose] > │ v2.l0 <- v16 │
00:00:14 #436 [Verbose] > │ v15 │
00:00:14 #437 [Verbose] > │ let v19 : int32 = 3 │
00:00:14 #438 [Verbose] > │ let v20 : US1 = method1(v19, v18) │
00:00:14 #439 [Verbose] > │ let v24 : int32 = │
00:00:14 #440 [Verbose] > │ match v20 with │
00:00:14 #441 [Verbose] > │ | US1_0 -> (* None *) │
00:00:14 #442 [Verbose] > │ failwith<int32> "Option does not have a value." │
00:00:14 #443 [Verbose] > │ | US1_1(v21) -> (* Some *) │
00:00:14 #444 [Verbose] > │ v21 │
00:00:14 #445 [Verbose] > │ let v25 : bool = v24 = 3 │
00:00:14 #446 [Verbose] > │ let v26 : string = $"_equal / actual: %A{v24} / expected: %A{3}" │
00:00:14 #447 [Verbose] > │ let v27 : bool = v25 = false │
00:00:14 #448 [Verbose] > │ if v27 then │
00:00:14 #449 [Verbose] > │ failwith<unit> v26 │
00:00:14 #450 [Verbose] > │ let v28 : US0 = v2.l0 │
00:00:14 #451 [Verbose] > │ let v43 : UH0 = │
00:00:14 #452 [Verbose] > │ match v28 with │
00:00:14 #453 [Verbose] > │ | US0_0(v29) -> (* Computed *) │
00:00:14 #454 [Verbose] > │ v29 │
00:00:14 #455 [Verbose] > │ | US0_1(v30) -> (* NotComputed *) │
00:00:14 #456 [Verbose] > │ let v31 : UH0 = v30 () │
00:00:14 #457 [Verbose] > │ let v40 : UH0 = │
00:00:14 #458 [Verbose] > │ match v31 with │
00:00:14 #459 [Verbose] > │ | UH0_0(v33, v34) -> (* StreamCons *) │
00:00:14 #460 [Verbose] > │ let v35 : US0 = US0_1(v34) │
00:00:14 #461 [Verbose] > │ let v36 : Mut0 = {l0 = v35} : Mut0 │
00:00:14 #462 [Verbose] > │ let v37 : (unit -> UH0) = closure11(v36) │
00:00:14 #463 [Verbose] > │ UH0_0(v33, v37) │
00:00:14 #464 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #465 [Verbose] > │ UH0_1 │
00:00:14 #466 [Verbose] > │ let v41 : US0 = US0_0(v40) │
00:00:14 #467 [Verbose] > │ v2.l0 <- v41 │
00:00:14 #468 [Verbose] > │ v40 │
00:00:14 #469 [Verbose] > │ let v44 : int32 = 5 │
00:00:14 #470 [Verbose] > │ let v45 : US1 = method1(v44, v43) │
00:00:14 #471 [Verbose] > │ let v49 : int32 = │
00:00:14 #472 [Verbose] > │ match v45 with │
00:00:14 #473 [Verbose] > │ | US1_0 -> (* None *) │
00:00:14 #474 [Verbose] > │ failwith<int32> "Option does not have a value." │
00:00:14 #475 [Verbose] > │ | US1_1(v46) -> (* Some *) │
00:00:14 #476 [Verbose] > │ v46 │
00:00:14 #477 [Verbose] > │ let v50 : bool = v49 = 5 │
00:00:14 #478 [Verbose] > │ let v51 : string = $"_equal / actual: %A{v49} / expected: %A{5}" │
00:00:14 #479 [Verbose] > │ let v52 : bool = v50 = false │
00:00:14 #480 [Verbose] > │ if v52 then │
00:00:14 #481 [Verbose] > │ failwith<unit> v51 │
00:00:14 #482 [Verbose] > │ method0() │
00:00:14 #483 [Verbose] > │ │
00:00:14 #484 [Verbose] > │ print_and_return / x: 0 │
00:00:14 #485 [Verbose] > │ print_and_return / x: 1 │
00:00:14 #486 [Verbose] > │ print_and_return / x: 2 │
00:00:14 #487 [Verbose] > │ print_and_return / x: 3 │
00:00:14 #488 [Verbose] > │ print_and_return / x: 4 │
00:00:14 #489 [Verbose] > │ print_and_return / x: 5 │
00:00:14 #490 [Verbose] > │ │
00:00:14 #491 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #492 [Verbose] >
00:00:14 #493 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #494 [Verbose] > // // test
00:00:14 #495 [Verbose] >
00:00:14 #496 [Verbose] > inl memo_stream = new_infinite_stream_ print_and_return |> memoize
00:00:14 #497 [Verbose] >
00:00:14 #498 [Verbose] > memo_stream ()
00:00:14 #499 [Verbose] > |> item 3i32
00:00:14 #500 [Verbose] > |> _equal 3i32
00:00:14 #501 [Verbose] >
00:00:14 #502 [Verbose] > memo_stream ()
00:00:14 #503 [Verbose] > |> item 5i32
00:00:14 #504 [Verbose] > |> _equal 5i32
00:00:14 #505 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3292-9271-9ddf804406ca\main.spi
00:00:14 #506 [Verbose] >
00:00:14 #507 [Verbose] > ╭─[ 244.02ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #508 [Verbose] > │ type UH0 = │
00:00:14 #509 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │
00:00:14 #510 [Verbose] > │ | UH0_1 │
00:00:14 #511 [Verbose] > │ and [<Struct>] US0 = │
00:00:14 #512 [Verbose] > │ | US0_0 of f0_0 : UH0 │
00:00:14 #513 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │
00:00:14 #514 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:14 #515 [Verbose] > │ and [<Struct>] US1 = │
00:00:14 #516 [Verbose] > │ | US1_0 │
00:00:14 #517 [Verbose] > │ | US1_1 of f1_0 : int32 │
00:00:14 #518 [Verbose] > │ let rec closure0 (v0 : int32) () : UH0 = │
00:00:14 #519 [Verbose] > │ let v1 : int32 = v0 + 1 │
00:00:14 #520 [Verbose] > │ method1(v1) │
00:00:14 #521 [Verbose] > │ and method1 (v0 : int32) : UH0 = │
00:00:14 #522 [Verbose] > │ printfn $"print_and_return / x: {v0}" │
00:00:14 #523 [Verbose] > │ let v1 : (unit -> UH0) = closure0(v0) │
00:00:14 #524 [Verbose] > │ UH0_0(v0, v1) │
00:00:14 #525 [Verbose] > │ and closure1 (v0 : UH0) () : UH0 = │
00:00:14 #526 [Verbose] > │ v0 │
00:00:14 #527 [Verbose] > │ and closure2 (v0 : UH0, v1 : Mut0) () : UH0 = │
00:00:14 #528 [Verbose] > │ let v2 : US0 = v1.l0 │
00:00:14 #529 [Verbose] > │ match v2 with │
00:00:14 #530 [Verbose] > │ | US0_0(v3) -> (* Computed *) │
00:00:14 #531 [Verbose] > │ v3 │
00:00:14 #532 [Verbose] > │ | US0_1(v4) -> (* NotComputed *) │
00:00:14 #533 [Verbose] > │ let v5 : UH0 = v4 () │
00:00:14 #534 [Verbose] > │ let v12 : UH0 = │
00:00:14 #535 [Verbose] > │ match v5 with │
00:00:14 #536 [Verbose] > │ | UH0_0(v7, v8) -> (* StreamCons *) │
00:00:14 #537 [Verbose] > │ let v9 : (unit -> UH0) = method2(v0, v8) │
00:00:14 #538 [Verbose] > │ UH0_0(v7, v9) │
00:00:14 #539 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #540 [Verbose] > │ UH0_1 │
00:00:14 #541 [Verbose] > │ let v13 : US0 = US0_0(v12) │
00:00:14 #542 [Verbose] > │ v1.l0 <- v13 │
00:00:14 #543 [Verbose] > │ v12 │
00:00:14 #544 [Verbose] > │ and method2 (v0 : UH0, v1 : (unit -> UH0)) : (unit -> UH0) = │
00:00:14 #545 [Verbose] > │ let v2 : US0 = US0_1(v1) │
00:00:14 #546 [Verbose] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │
00:00:14 #547 [Verbose] > │ closure2(v0, v3) │
00:00:14 #548 [Verbose] > │ and method3 (v0 : int32, v1 : UH0) : US1 = │
00:00:14 #549 [Verbose] > │ match v1 with │
00:00:14 #550 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:14 #551 [Verbose] > │ let v4 : bool = v0 <= 0 │
00:00:14 #552 [Verbose] > │ if v4 then │
00:00:14 #553 [Verbose] > │ US1_1(v2) │
00:00:14 #554 [Verbose] > │ else │
00:00:14 #555 [Verbose] > │ let v6 : int32 = v0 - 1 │
00:00:14 #556 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:14 #557 [Verbose] > │ method3(v6, v7) │
00:00:14 #558 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:14 #559 [Verbose] > │ US1_0 │
00:00:14 #560 [Verbose] > │ and method0 () : unit = │
00:00:14 #561 [Verbose] > │ let v0 : int32 = 0 │
00:00:14 #562 [Verbose] > │ let v1 : UH0 = method1(v0) │
00:00:14 #563 [Verbose] > │ let v2 : (unit -> UH0) = closure1(v1) │
00:00:14 #564 [Verbose] > │ let v3 : (unit -> UH0) = method2(v1, v2) │
00:00:14 #565 [Verbose] > │ let v4 : UH0 = v3 () │
00:00:14 #566 [Verbose] > │ let v5 : int32 = 3 │
00:00:14 #567 [Verbose] > │ let v6 : US1 = method3(v5, v4) │
00:00:14 #568 [Verbose] > │ let v10 : int32 = │
00:00:14 #569 [Verbose] > │ match v6 with │
00:00:14 #570 [Verbose] > │ | US1_0 -> (* None *) │
00:00:14 #571 [Verbose] > │ failwith<int32> "Option does not have a value." │
00:00:14 #572 [Verbose] > │ | US1_1(v7) -> (* Some *) │
00:00:14 #573 [Verbose] > │ v7 │
00:00:14 #574 [Verbose] > │ let v11 : bool = v10 = 3 │
00:00:14 #575 [Verbose] > │ let v12 : string = $"_equal / actual: %A{v10} / expected: %A{3}" │
00:00:14 #576 [Verbose] > │ let v13 : bool = v11 = false │
00:00:14 #577 [Verbose] > │ if v13 then │
00:00:14 #578 [Verbose] > │ failwith<unit> v12 │
00:00:14 #579 [Verbose] > │ let v14 : UH0 = v3 () │
00:00:14 #580 [Verbose] > │ let v15 : int32 = 5 │
00:00:14 #581 [Verbose] > │ let v16 : US1 = method3(v15, v14) │
00:00:14 #582 [Verbose] > │ let v20 : int32 = │
00:00:14 #583 [Verbose] > │ match v16 with │
00:00:14 #584 [Verbose] > │ | US1_0 -> (* None *) │
00:00:14 #585 [Verbose] > │ failwith<int32> "Option does not have a value." │
00:00:14 #586 [Verbose] > │ | US1_1(v17) -> (* Some *) │
00:00:14 #587 [Verbose] > │ v17 │
00:00:14 #588 [Verbose] > │ let v21 : bool = v20 = 5 │
00:00:14 #589 [Verbose] > │ let v22 : string = $"_equal / actual: %A{v20} / expected: %A{5}" │
00:00:14 #590 [Verbose] > │ let v23 : bool = v21 = false │
00:00:14 #591 [Verbose] > │ if v23 then │
00:00:14 #592 [Verbose] > │ failwith<unit> v22 │
00:00:14 #593 [Verbose] > │ method0() │
00:00:14 #594 [Verbose] > │ │
00:00:14 #595 [Verbose] > │ print_and_return / x: 0 │
00:00:14 #596 [Verbose] > │ print_and_return / x: 1 │
00:00:14 #597 [Verbose] > │ print_and_return / x: 2 │
00:00:14 #598 [Verbose] > │ print_and_return / x: 3 │
00:00:14 #599 [Verbose] > │ print_and_return / x: 4 │
00:00:14 #600 [Verbose] > │ print_and_return / x: 5 │
00:00:14 #601 [Verbose] > │ │
00:00:14 #602 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #603 [Verbose] >
00:00:14 #604 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #605 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #606 [Verbose] > │ ## unfold │
00:00:14 #607 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #608 [Verbose] >
00:00:14 #609 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #610 [Verbose] > inl unfold f x0 =
00:00:14 #611 [Verbose] > inl rec body x =
00:00:14 #612 [Verbose] > match f x with
00:00:14 #613 [Verbose] > | Some (x', y) => StreamCons (x', fun () => loop y)
00:00:14 #614 [Verbose] > | None => StreamNil
00:00:14 #615 [Verbose] > and inl loop x = join_body_unit body x0 x
00:00:14 #616 [Verbose] > loop x0
00:00:14 #617 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3321-2132-2e1f80bfb565\main.spi
00:00:14 #618 [Verbose] >
00:00:14 #619 [Verbose] > ╭─[ 178.87ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #620 [Verbose] > │ () │
00:00:14 #621 [Verbose] > │ │
00:00:14 #622 [Verbose] > │ │
00:00:14 #623 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #624 [Verbose] >
00:00:14 #625 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #626 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #627 [Verbose] > │ ## iterate │
00:00:14 #628 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #629 [Verbose] >
00:00:14 #630 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #631 [Verbose] > inl iterate f =
00:00:14 #632 [Verbose] > unfold (fun x => Some (x, f x))
00:00:14 #633 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3339-3952-32b59ad649bf\main.spi
00:00:14 #634 [Verbose] >
00:00:14 #635 [Verbose] > ╭─[ 182.41ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #636 [Verbose] > │ () │
00:00:14 #637 [Verbose] > │ │
00:00:14 #638 [Verbose] > │ │
00:00:14 #639 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #640 [Verbose] >
00:00:14 #641 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #642 [Verbose] > // // test
00:00:14 #643 [Verbose] >
00:00:14 #644 [Verbose] > iterate ((*) 2) 1i32
00:00:14 #645 [Verbose] > |> item 10i32
00:00:14 #646 [Verbose] > |> _equal 1024
00:00:14 #647 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3358-5801-53ca96cb7f0e\main.spi
00:00:14 #648 [Verbose] >
00:00:14 #649 [Verbose] > ╭─[ 225.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #650 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #651 [Verbose] > │ let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}" │
00:00:14 #652 [Verbose] > │ () │
00:00:14 #653 [Verbose] > │ method0() │
00:00:14 #654 [Verbose] > │ │
00:00:14 #655 [Verbose] > │ │
00:00:14 #656 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #657 [Verbose] >
00:00:14 #658 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #659 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #660 [Verbose] > │ ## take_while │
00:00:14 #661 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #662 [Verbose] >
00:00:14 #663 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #664 [Verbose] > inl take_while cond s =
00:00:14 #665 [Verbose] > inl rec body i = function
00:00:14 #666 [Verbose] > | StreamCons (st, fn) when cond st i => StreamCons (st, fun () => loop
00:00:14 #667 [Verbose] > (i + 1) (fn ()))
00:00:14 #668 [Verbose] > | _ => StreamNil
00:00:14 #669 [Verbose] > and inl loop i = join_body body i
00:00:14 #670 [Verbose] > loop 0 s
00:00:15 #671 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3381-8142-8c331a30bf52\main.spi
00:00:15 #672 [Verbose] >
00:00:15 #673 [Verbose] > ╭─[ 157.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #674 [Verbose] > │ () │
00:00:15 #675 [Verbose] > │ │
00:00:15 #676 [Verbose] > │ │
00:00:15 #677 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #678 [Verbose] >
00:00:15 #679 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 #680 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 #681 [Verbose] > │ ## sum │
00:00:15 #682 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #683 [Verbose] >
00:00:15 #684 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #685 [Verbose] > inl sum seq =
00:00:15 #686 [Verbose] > seq |> fold (+) 0
00:00:15 #687 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3397-9768-990e6f81cdcc\main.spi
00:00:15 #688 [Verbose] >
00:00:15 #689 [Verbose] > ╭─[ 164.57ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #690 [Verbose] > │ () │
00:00:15 #691 [Verbose] > │ │
00:00:15 #692 [Verbose] > │ │
00:00:15 #693 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #694 [Verbose] >
00:00:15 #695 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #696 [Verbose] > // // test
00:00:15 #697 [Verbose] >
00:00:15 #698 [Verbose] > listm.init 10i32 id
00:00:15 #699 [Verbose] > |> from_list
00:00:15 #700 [Verbose] > |> sum
00:00:15 #701 [Verbose] > |> _equal 45
00:00:15 #702 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3414-1433-1cd3ff23de9b\main.spi
00:00:15 #703 [Verbose] >
00:00:15 #704 [Verbose] > ╭─[ 175.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #705 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #706 [Verbose] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:15 #707 [Verbose] > │ () │
00:00:15 #708 [Verbose] > │ method0() │
00:00:15 #709 [Verbose] > │ │
00:00:15 #710 [Verbose] > │ │
00:00:15 #711 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #712 [Verbose] >
00:00:15 #713 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #714 [Verbose] > // // test
00:00:15 #715 [Verbose] >
00:00:15 #716 [Verbose] > new_finite_stream print_and_return 10i32
00:00:15 #717 [Verbose] > |> take_while (fun n (_ : i32) => n < 5)
00:00:15 #718 [Verbose] > |> sum
00:00:15 #719 [Verbose] > |> _equal 10
00:00:15 #720 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3432-3234-34f88ff3206d\main.spi
00:00:15 #721 [Verbose] >
00:00:15 #722 [Verbose] > ╭─[ 213.65ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #723 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #724 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:15 #725 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #726 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #727 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:15 #728 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:15 #729 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:15 #730 [Verbose] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
00:00:15 #731 [Verbose] > │ () │
00:00:15 #732 [Verbose] > │ method0() │
00:00:15 #733 [Verbose] > │ │
00:00:15 #734 [Verbose] > │ print_and_return / x: 0 │
00:00:15 #735 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #736 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #737 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #738 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #739 [Verbose] > │ print_and_return / x: 5 │
00:00:15 #740 [Verbose] > │ │
00:00:15 #741 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #742 [Verbose] >
00:00:15 #743 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #744 [Verbose] > // // test
00:00:15 #745 [Verbose] >
00:00:15 #746 [Verbose] > new_infinite_stream print_and_return
00:00:15 #747 [Verbose] > |> take_while (fun n (_ : i32) => n < 5i32)
00:00:15 #748 [Verbose] > |> sum
00:00:15 #749 [Verbose] > |> _equal 10
00:00:15 #750 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3454-5453-519f5b926566\main.spi
00:00:15 #751 [Verbose] >
00:00:15 #752 [Verbose] > ╭─[ 217.99ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #753 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #754 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:15 #755 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #756 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #757 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:15 #758 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:15 #759 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:15 #760 [Verbose] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
00:00:15 #761 [Verbose] > │ () │
00:00:15 #762 [Verbose] > │ method0() │
00:00:15 #763 [Verbose] > │ │
00:00:15 #764 [Verbose] > │ print_and_return / x: 0 │
00:00:15 #765 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #766 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #767 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #768 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #769 [Verbose] > │ print_and_return / x: 5 │
00:00:15 #770 [Verbose] > │ │
00:00:15 #771 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #772 [Verbose] >
00:00:15 #773 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #774 [Verbose] > // // test
00:00:15 #775 [Verbose] >
00:00:15 #776 [Verbose] > iterate ((*) 6) 1i32
00:00:15 #777 [Verbose] > |> take_while (fun _ i => i <= 7i32)
00:00:15 #778 [Verbose] > |> to_list
00:00:15 #779 [Verbose] > |> _equal [[ 1i32; 6; 36; 216; 1296; 7776; 46656; 279936 ]]
00:00:16 #780 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3477-7733-725512c73952\main.spi
00:00:16 #781 [Verbose] >
00:00:16 #782 [Verbose] > ╭─[ 202.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #783 [Verbose] > │ type UH0 = │
00:00:16 #784 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:16 #785 [Verbose] > │ | UH0_1 │
00:00:16 #786 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #787 [Verbose] > │ let v63 : UH0 = UH0_1 │
00:00:16 #788 [Verbose] > │ let v64 : UH0 = UH0_0(279936, v63) │
00:00:16 #789 [Verbose] > │ let v65 : UH0 = UH0_0(46656, v64) │
00:00:16 #790 [Verbose] > │ let v66 : UH0 = UH0_0(7776, v65) │
00:00:16 #791 [Verbose] > │ let v67 : UH0 = UH0_0(1296, v66) │
00:00:16 #792 [Verbose] > │ let v68 : UH0 = UH0_0(216, v67) │
00:00:16 #793 [Verbose] > │ let v69 : UH0 = UH0_0(36, v68) │
00:00:16 #794 [Verbose] > │ let v70 : UH0 = UH0_0(6, v69) │
00:00:16 #795 [Verbose] > │ let v71 : UH0 = UH0_0(1, v70) │
00:00:16 #796 [Verbose] > │ let v72 : UH0 = UH0_1 │
00:00:16 #797 [Verbose] > │ let v73 : UH0 = UH0_0(279936, v72) │
00:00:16 #798 [Verbose] > │ let v74 : UH0 = UH0_0(46656, v73) │
00:00:16 #799 [Verbose] > │ let v75 : UH0 = UH0_0(7776, v74) │
00:00:16 #800 [Verbose] > │ let v76 : UH0 = UH0_0(1296, v75) │
00:00:16 #801 [Verbose] > │ let v77 : UH0 = UH0_0(216, v76) │
00:00:16 #802 [Verbose] > │ let v78 : UH0 = UH0_0(36, v77) │
00:00:16 #803 [Verbose] > │ let v79 : UH0 = UH0_0(6, v78) │
00:00:16 #804 [Verbose] > │ let v80 : UH0 = UH0_0(1, v79) │
00:00:16 #805 [Verbose] > │ let v81 : string = $"_equal / actual: %A{v71} / expected: %A{v80}" │
00:00:16 #806 [Verbose] > │ () │
00:00:16 #807 [Verbose] > │ method0() │
00:00:16 #808 [Verbose] > │ │
00:00:16 #809 [Verbose] > │ │
00:00:16 #810 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #811 [Verbose] >
00:00:16 #812 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #813 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #814 [Verbose] > │ ## indexed │
00:00:16 #815 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #816 [Verbose] >
00:00:16 #817 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #818 [Verbose] > inl indexed s =
00:00:16 #819 [Verbose] > ((StreamNil, 0), s)
00:00:16 #820 [Verbose] > ||> fold fun (acc, i) x =>
00:00:16 #821 [Verbose] > StreamCons ((i, x), fun () => acc), i + 1
00:00:16 #822 [Verbose] > |> fst
00:00:16 #823 [Verbose] > |> rev
00:00:16 #824 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3499-9906-98e4c0b7279c\main.spi
00:00:16 #825 [Verbose] >
00:00:16 #826 [Verbose] > ╭─[ 176.37ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #827 [Verbose] > │ () │
00:00:16 #828 [Verbose] > │ │
00:00:16 #829 [Verbose] > │ │
00:00:16 #830 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #831 [Verbose] >
00:00:16 #832 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #833 [Verbose] > // // test
00:00:16 #834 [Verbose] >
00:00:16 #835 [Verbose] > listm.init 10i32 ((*) 2)
00:00:16 #836 [Verbose] > |> from_list
00:00:16 #837 [Verbose] > |> indexed
00:00:16 #838 [Verbose] > |> item 5i32
00:00:16 #839 [Verbose] > |> _equal (5i32, 10i32)
00:00:16 #840 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3516-1695-13c63fe63b62\main.spi
00:00:16 #841 [Verbose] >
00:00:16 #842 [Verbose] > ╭─[ 209.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #843 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #844 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5, 10)} / expected: │
00:00:16 #845 [Verbose] > │ %A{struct (5, 10)}" │
00:00:16 #846 [Verbose] > │ () │
00:00:16 #847 [Verbose] > │ method0() │
00:00:16 #848 [Verbose] > │ │
00:00:16 #849 [Verbose] > │ │
00:00:16 #850 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #851 [Verbose] >
00:00:16 #852 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #853 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #854 [Verbose] > │ ## map │
00:00:16 #855 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #856 [Verbose] >
00:00:16 #857 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #858 [Verbose] > inl map fn s =
00:00:16 #859 [Verbose] > (s, StreamNil)
00:00:16 #860 [Verbose] > ||> fold_back fun x acc =>
00:00:16 #861 [Verbose] > StreamCons (fn x, fun () => acc)
00:00:16 #862 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3538-3849-3be82cb8f130\main.spi
00:00:16 #863 [Verbose] >
00:00:16 #864 [Verbose] > ╭─[ 169.11ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #865 [Verbose] > │ () │
00:00:16 #866 [Verbose] > │ │
00:00:16 #867 [Verbose] > │ │
00:00:16 #868 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #869 [Verbose] >
00:00:16 #870 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #871 [Verbose] > // // test
00:00:16 #872 [Verbose] >
00:00:16 #873 [Verbose] > listm.init 10i32 id
00:00:16 #874 [Verbose] > |> from_list
00:00:16 #875 [Verbose] > |> map ((*) 2)
00:00:16 #876 [Verbose] > |> item 5i32
00:00:16 #877 [Verbose] > |> _equal 10i32
00:00:16 #878 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3555-5565-587d6e930537\main.spi
00:00:16 #879 [Verbose] >
00:00:16 #880 [Verbose] > ╭─[ 180.96ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #881 [Verbose] > │ let rec method0 () : unit = │
00:00:16 #882 [Verbose] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
00:00:16 #883 [Verbose] > │ () │
00:00:16 #884 [Verbose] > │ method0() │
00:00:16 #885 [Verbose] > │ │
00:00:16 #886 [Verbose] > │ │
00:00:16 #887 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #888 [Verbose] >
00:00:16 #889 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #890 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #891 [Verbose] > │ ## zip_with │
00:00:16 #892 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #893 [Verbose] >
00:00:16 #894 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #895 [Verbose] > inl zip_with fn s1 s2 =
00:00:16 #896 [Verbose] > inl rec loop s1 s2 =
00:00:16 #897 [Verbose] > match s1, s2 with
00:00:16 #898 [Verbose] > | StreamCons (st1, fn1), StreamCons (st2, fn2) =>
00:00:16 #899 [Verbose] > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ()))
00:00:16 #900 [Verbose] > | StreamNil, _ | _, StreamNil => StreamNil
00:00:16 #901 [Verbose] > loop s1 s2
00:00:16 #902 [Verbose] >
00:00:16 #903 [Verbose] > inl zip_with_ fn s1 s2 =
00:00:16 #904 [Verbose] > let rec loop s1 s2 =
00:00:16 #905 [Verbose] > match s1, s2 with
00:00:16 #906 [Verbose] > | StreamCons (st1, fn1), StreamCons (st2, fn2) =>
00:00:16 #907 [Verbose] > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ()))
00:00:16 #908 [Verbose] > | StreamNil, _ | _, StreamNil => StreamNil
00:00:16 #909 [Verbose] > loop s1 s2
00:00:16 #910 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3574-7474-74bf2a6fd6f5\main.spi
00:00:17 #911 [Verbose] >
00:00:17 #912 [Verbose] > ╭─[ 172.95ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #913 [Verbose] > │ () │
00:00:17 #914 [Verbose] > │ │
00:00:17 #915 [Verbose] > │ │
00:00:17 #916 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #917 [Verbose] >
00:00:17 #918 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #919 [Verbose] > // // test
00:00:17 #920 [Verbose] >
00:00:17 #921 [Verbose] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:00:17 #922 [Verbose] > ||> zip_with (+)
00:00:17 #923 [Verbose] > |> item 2i32
00:00:17 #924 [Verbose] > |> _equal 6
00:00:17 #925 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3592-9223-9c5d803025af\main.spi
00:00:17 #926 [Verbose] >
00:00:17 #927 [Verbose] > ╭─[ 186.59ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #928 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #929 [Verbose] > │ let v0 : string = $"_equal / actual: %A{6} / expected: %A{6}" │
00:00:17 #930 [Verbose] > │ () │
00:00:17 #931 [Verbose] > │ method0() │
00:00:17 #932 [Verbose] > │ │
00:00:17 #933 [Verbose] > │ │
00:00:17 #934 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #935 [Verbose] >
00:00:17 #936 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 #937 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 #938 [Verbose] > │ ## zip │
00:00:17 #939 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #940 [Verbose] >
00:00:17 #941 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #942 [Verbose] > inl zip s1 s2 =
00:00:17 #943 [Verbose] > zip_with pair s1 s2
00:00:17 #944 [Verbose] >
00:00:17 #945 [Verbose] > inl zip_ s1 s2 =
00:00:17 #946 [Verbose] > zip_with_ pair s1 s2
00:00:17 #947 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3611-1150-161516332f2a\main.spi
00:00:17 #948 [Verbose] >
00:00:17 #949 [Verbose] > ╭─[ 195.47ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #950 [Verbose] > │ () │
00:00:17 #951 [Verbose] > │ │
00:00:17 #952 [Verbose] > │ │
00:00:17 #953 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #954 [Verbose] >
00:00:17 #955 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #956 [Verbose] > // // test
00:00:17 #957 [Verbose] >
00:00:17 #958 [Verbose] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:00:17 #959 [Verbose] > ||> zip
00:00:17 #960 [Verbose] > |> item 5i32
00:00:17 #961 [Verbose] > |> _equal (5, 10)
00:00:17 #962 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3631-3128-35ee4d270707\main.spi
00:00:17 #963 [Verbose] >
00:00:17 #964 [Verbose] > ╭─[ 190.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #965 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #966 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5, 10)} / expected: │
00:00:17 #967 [Verbose] > │ %A{struct (5, 10)}" │
00:00:17 #968 [Verbose] > │ () │
00:00:17 #969 [Verbose] > │ method0() │
00:00:17 #970 [Verbose] > │ │
00:00:17 #971 [Verbose] > │ │
00:00:17 #972 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #973 [Verbose] >
00:00:17 #974 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 #975 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 #976 [Verbose] > │ ## unzip │
00:00:17 #977 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #978 [Verbose] >
00:00:17 #979 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #980 [Verbose] > inl unzip s =
00:00:17 #981 [Verbose] > inl rec body s =
00:00:17 #982 [Verbose] > match s with
00:00:17 #983 [Verbose] > | StreamCons ((x, y), fn) =>
00:00:17 #984 [Verbose] > inl xs, ys = loop (fn ())
00:00:17 #985 [Verbose] > StreamCons (x, fun () => xs), StreamCons (y, fun () => ys)
00:00:17 #986 [Verbose] > | StreamNil => pair StreamNil StreamNil
00:00:17 #987 [Verbose] > and inl loop x =
00:00:17 #988 [Verbose] > if var_is x |> not
00:00:17 #989 [Verbose] > then body x
00:00:17 #990 [Verbose] > else
00:00:17 #991 [Verbose] > inl x = dyn x
00:00:17 #992 [Verbose] > join body x
00:00:17 #993 [Verbose] > loop s
00:00:17 #994 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3650-5093-55f2a48a4613\main.spi
00:00:17 #995 [Verbose] >
00:00:17 #996 [Verbose] > ╭─[ 181.46ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #997 [Verbose] > │ () │
00:00:17 #998 [Verbose] > │ │
00:00:17 #999 [Verbose] > │ │
00:00:17 #1000 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1001 [Verbose] >
00:00:17 #1002 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #1003 [Verbose] > // // test
00:00:17 #1004 [Verbose] >
00:00:17 #1005 [Verbose] > listm.init 10i32 id
00:00:17 #1006 [Verbose] > |> listm.map (fun x => x, x)
00:00:17 #1007 [Verbose] > |> from_list
00:00:17 #1008 [Verbose] > |> unzip
00:00:17 #1009 [Verbose] > |> fun x, y =>
00:00:17 #1010 [Verbose] > x |> sum
00:00:17 #1011 [Verbose] > |> _equal 45
00:00:17 #1012 [Verbose] >
00:00:17 #1013 [Verbose] > y |> sum
00:00:17 #1014 [Verbose] > |> _equal 45
00:00:17 #1015 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-3669-6944-65e0941eae71\main.spi
00:00:17 #1016 [Verbose] >
00:00:17 #1017 [Verbose] > ╭─[ 175.26ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #1018 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #1019 [Verbose] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:17 #1020 [Verbose] > │ let v1 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:17 #1021 [Verbose] > │ () │
00:00:17 #1022 [Verbose] > │ method0() │
00:00:17 #1023 [Verbose] > │ │
00:00:17 #1024 [Verbose] > │ │
00:00:17 #1025 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #1026 [Verbose] > [NbConvertApp] Converting notebook stream.dib.ipynb to html
00:00:19 #1027 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:19 #1028 [Verbose] > validate(nb)
00:00:20 #1029 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:20 #1030 [Verbose] > return _pygments_highlight(
00:00:20 #1031 [Verbose] > [NbConvertApp] Writing 357092 bytes to stream.dib.html
00:00:21 #1032 [Debug] executeAsync / exitCode: 0 / output.Length: 58505
00:00:21 #1033 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 seq.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # seq │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-4763-6346-670636941ba4\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.93s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #31 [Verbose] > │ ## seq │
00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #35 [Verbose] > type seq dim el = dim -> option el
00:00:10 #36 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5112-1271-1d2eaf20c71d\main.spi
00:00:10 #37 [Verbose] >
00:00:10 #38 [Verbose] > ╭─[ 241.11ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #39 [Verbose] > │ () │
00:00:10 #40 [Verbose] > │ │
00:00:10 #41 [Verbose] > │ │
00:00:10 #42 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #43 [Verbose] >
00:00:10 #44 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #45 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #46 [Verbose] > │ ## item │
00:00:10 #47 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #48 [Verbose] >
00:00:10 #49 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #50 [Verbose] > inl item n seq =
00:00:10 #51 [Verbose] > seq n
00:00:10 #52 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5136-3680-37a4d68a7e01\main.spi
00:00:10 #53 [Verbose] >
00:00:10 #54 [Verbose] > ╭─[ 195.08ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #55 [Verbose] > │ () │
00:00:10 #56 [Verbose] > │ │
00:00:10 #57 [Verbose] > │ │
00:00:10 #58 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #59 [Verbose] >
00:00:10 #60 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 #61 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 #62 [Verbose] > │ ## from_list │
00:00:10 #63 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #64 [Verbose] >
00:00:10 #65 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #66 [Verbose] > inl from_list list =
00:00:10 #67 [Verbose] > fun n =>
00:00:10 #68 [Verbose] > list |> listm'.try_item n
00:00:10 #69 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5156-5651-51017382baaf\main.spi
00:00:10 #70 [Verbose] >
00:00:10 #71 [Verbose] > ╭─[ 172.42ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 #72 [Verbose] > │ () │
00:00:10 #73 [Verbose] > │ │
00:00:10 #74 [Verbose] > │ │
00:00:10 #75 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 #76 [Verbose] >
00:00:10 #77 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 #78 [Verbose] > // // test
00:00:10 #79 [Verbose] >
00:00:10 #80 [Verbose] > listm.init 10i32 print_and_return
00:00:10 #81 [Verbose] > |> from_list
00:00:10 #82 [Verbose] > |> item 5i32
00:00:10 #83 [Verbose] > |> _equal (Some 5i32)
00:00:10 #84 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5174-7411-7db4c9b706fa\main.spi
00:00:11 #85 [Verbose] >
00:00:11 #86 [Verbose] > ╭─[ 1.48s - stdout ]───────────────────────────────────────────────────────────╮
00:00:11 #87 [Verbose] > │ type [<Struct>] US0 = │
00:00:11 #88 [Verbose] > │ | US0_0 │
00:00:11 #89 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:11 #90 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #91 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:11 #92 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:11 #93 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:11 #94 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:11 #95 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:11 #96 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:11 #97 [Verbose] > │ printfn $"print_and_return / x: {6}" │
00:00:11 #98 [Verbose] > │ printfn $"print_and_return / x: {7}" │
00:00:11 #99 [Verbose] > │ printfn $"print_and_return / x: {8}" │
00:00:11 #100 [Verbose] > │ printfn $"print_and_return / x: {9}" │
00:00:11 #101 [Verbose] > │ let v3 : US0 = US0_1(5) │
00:00:12 #102 [Verbose] > │ let v4 : US0 = US0_1(5) │
00:00:12 #103 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:12 #104 [Verbose] > │ () │
00:00:12 #105 [Verbose] > │ method0() │
00:00:12 #106 [Verbose] > │ │
00:00:12 #107 [Verbose] > │ print_and_return / x: 0 │
00:00:12 #108 [Verbose] > │ print_and_return / x: 1 │
00:00:12 #109 [Verbose] > │ print_and_return / x: 2 │
00:00:12 #110 [Verbose] > │ print_and_return / x: 3 │
00:00:12 #111 [Verbose] > │ print_and_return / x: 4 │
00:00:12 #112 [Verbose] > │ print_and_return / x: 5 │
00:00:12 #113 [Verbose] > │ print_and_return / x: 6 │
00:00:12 #114 [Verbose] > │ print_and_return / x: 7 │
00:00:12 #115 [Verbose] > │ print_and_return / x: 8 │
00:00:12 #116 [Verbose] > │ print_and_return / x: 9 │
00:00:12 #117 [Verbose] > │ │
00:00:12 #118 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #119 [Verbose] >
00:00:12 #120 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #121 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #122 [Verbose] > │ ## indexed │
00:00:12 #123 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #124 [Verbose] >
00:00:12 #125 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #126 [Verbose] > inl indexed s =
00:00:12 #127 [Verbose] > fun n =>
00:00:12 #128 [Verbose] > s |> item n |> optionm.map (fun x => n, x)
00:00:12 #129 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5324-2448-2d248478e730\main.spi
00:00:12 #130 [Verbose] >
00:00:12 #131 [Verbose] > ╭─[ 222.88ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #132 [Verbose] > │ () │
00:00:12 #133 [Verbose] > │ │
00:00:12 #134 [Verbose] > │ │
00:00:12 #135 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #136 [Verbose] >
00:00:12 #137 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #138 [Verbose] > // // test
00:00:12 #139 [Verbose] >
00:00:12 #140 [Verbose] > listm.init 10i32 ((*) 2)
00:00:12 #141 [Verbose] > |> from_list
00:00:12 #142 [Verbose] > |> indexed
00:00:12 #143 [Verbose] > |> item 5i32
00:00:12 #144 [Verbose] > |> _equal (Some (5i32, 10i32))
00:00:12 #145 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5346-4673-472f93537e66\main.spi
00:00:12 #146 [Verbose] >
00:00:12 #147 [Verbose] > ╭─[ 224.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #148 [Verbose] > │ type [<Struct>] US0 = │
00:00:12 #149 [Verbose] > │ | US0_0 │
00:00:12 #150 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : int32 │
00:00:12 #151 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #152 [Verbose] > │ let v3 : US0 = US0_1(5, 10) │
00:00:12 #153 [Verbose] > │ let v4 : US0 = US0_1(5, 10) │
00:00:12 #154 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:12 #155 [Verbose] > │ () │
00:00:12 #156 [Verbose] > │ method0() │
00:00:12 #157 [Verbose] > │ │
00:00:12 #158 [Verbose] > │ │
00:00:12 #159 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #160 [Verbose] >
00:00:12 #161 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #162 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #163 [Verbose] > │ ## zip │
00:00:12 #164 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #165 [Verbose] >
00:00:12 #166 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #167 [Verbose] > inl zip n seq1 seq2 =
00:00:12 #168 [Verbose] > seq1 n, seq2 n
00:00:12 #169 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5370-7001-79fbda5425ab\main.spi
00:00:12 #170 [Verbose] >
00:00:12 #171 [Verbose] > ╭─[ 188.86ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #172 [Verbose] > │ () │
00:00:12 #173 [Verbose] > │ │
00:00:12 #174 [Verbose] > │ │
00:00:12 #175 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #176 [Verbose] >
00:00:12 #177 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #178 [Verbose] > // // test
00:00:12 #179 [Verbose] >
00:00:12 #180 [Verbose] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:00:12 #181 [Verbose] > ||> zip 5i32
00:00:12 #182 [Verbose] > |> _equal (Some 5, Some 10)
00:00:12 #183 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5389-8911-8f3535594298\main.spi
00:00:12 #184 [Verbose] >
00:00:12 #185 [Verbose] > ╭─[ 240.67ms - stdout ]────────────────────────────────────────────────────────╮
00:00:12 #186 [Verbose] > │ type [<Struct>] US0 = │
00:00:12 #187 [Verbose] > │ | US0_0 │
00:00:12 #188 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:12 #189 [Verbose] > │ let rec method0 () : unit = │
00:00:12 #190 [Verbose] > │ let v6 : US0 = US0_1(5) │
00:00:12 #191 [Verbose] > │ let v7 : US0 = US0_1(10) │
00:00:12 #192 [Verbose] > │ let v8 : US0 = US0_1(5) │
00:00:12 #193 [Verbose] > │ let v9 : US0 = US0_1(10) │
00:00:12 #194 [Verbose] > │ let v10 : string = $"_equal / actual: %A{struct (v6, v7)} / expected: │
00:00:12 #195 [Verbose] > │ %A{struct (v8, v9)}" │
00:00:12 #196 [Verbose] > │ () │
00:00:12 #197 [Verbose] > │ method0() │
00:00:12 #198 [Verbose] > │ │
00:00:12 #199 [Verbose] > │ │
00:00:12 #200 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #201 [Verbose] >
00:00:12 #202 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #203 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #204 [Verbose] > │ ## zip_with │
00:00:12 #205 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #206 [Verbose] >
00:00:12 #207 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 #208 [Verbose] > inl zip_with fn seq1 seq2 =
00:00:12 #209 [Verbose] > fun n =>
00:00:12 #210 [Verbose] > fn (seq1 n) (seq2 n)
00:00:13 #211 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5414-1425-13d909b36a6c\main.spi
00:00:13 #212 [Verbose] >
00:00:13 #213 [Verbose] > ╭─[ 190.90ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #214 [Verbose] > │ () │
00:00:13 #215 [Verbose] > │ │
00:00:13 #216 [Verbose] > │ │
00:00:13 #217 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #218 [Verbose] >
00:00:13 #219 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #220 [Verbose] > // // test
00:00:13 #221 [Verbose] >
00:00:13 #222 [Verbose] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:00:13 #223 [Verbose] > ||> zip_with (optionm'.choose (+))
00:00:13 #224 [Verbose] > |> item 2i32
00:00:13 #225 [Verbose] > |> _equal (Some 6)
00:00:13 #226 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5433-3369-3f218f2c8869\main.spi
00:00:13 #227 [Verbose] >
00:00:13 #228 [Verbose] > ╭─[ 232.90ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #229 [Verbose] > │ type [<Struct>] US0 = │
00:00:13 #230 [Verbose] > │ | US0_0 │
00:00:13 #231 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:13 #232 [Verbose] > │ let rec method0 () : unit = │
00:00:13 #233 [Verbose] > │ let v3 : US0 = US0_1(6) │
00:00:13 #234 [Verbose] > │ let v4 : US0 = US0_1(6) │
00:00:13 #235 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:13 #236 [Verbose] > │ () │
00:00:13 #237 [Verbose] > │ method0() │
00:00:13 #238 [Verbose] > │ │
00:00:13 #239 [Verbose] > │ │
00:00:13 #240 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #241 [Verbose] >
00:00:13 #242 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #243 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #244 [Verbose] > │ ## fold │
00:00:13 #245 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #246 [Verbose] >
00:00:13 #247 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #248 [Verbose] > inl fold fn init seq =
00:00:13 #249 [Verbose] > inl rec loop acc n =
00:00:13 #250 [Verbose] > match seq n with
00:00:13 #251 [Verbose] > | Some x => loop (fn acc x) (n + 1)
00:00:13 #252 [Verbose] > | None => acc
00:00:13 #253 [Verbose] > loop init 0
00:00:13 #254 [Verbose] >
00:00:13 #255 [Verbose] > inl fold_ fn init seq =
00:00:13 #256 [Verbose] > let rec loop acc n =
00:00:13 #257 [Verbose] > match seq n with
00:00:13 #258 [Verbose] > | Some x => loop (fn acc x) (n + 1)
00:00:13 #259 [Verbose] > | None => acc
00:00:13 #260 [Verbose] > loop init 0
00:00:13 #261 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5457-5780-569c2b8516b0\main.spi
00:00:13 #262 [Verbose] >
00:00:13 #263 [Verbose] > ╭─[ 161.47ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #264 [Verbose] > │ () │
00:00:13 #265 [Verbose] > │ │
00:00:13 #266 [Verbose] > │ │
00:00:13 #267 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #268 [Verbose] >
00:00:13 #269 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #270 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #271 [Verbose] > │ ## sum │
00:00:13 #272 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #273 [Verbose] >
00:00:13 #274 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #275 [Verbose] > inl sum seq =
00:00:13 #276 [Verbose] > seq |> fold (+) 0
00:00:13 #277 [Verbose] >
00:00:13 #278 [Verbose] > inl sum_ seq =
00:00:13 #279 [Verbose] > seq |> fold_ (+) 0
00:00:13 #280 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5474-7443-7da37d27e173\main.spi
00:00:13 #281 [Verbose] >
00:00:13 #282 [Verbose] > ╭─[ 167.90ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #283 [Verbose] > │ () │
00:00:13 #284 [Verbose] > │ │
00:00:13 #285 [Verbose] > │ │
00:00:13 #286 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #287 [Verbose] >
00:00:13 #288 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #289 [Verbose] > // // test
00:00:13 #290 [Verbose] >
00:00:13 #291 [Verbose] > listm.init 10i32 id
00:00:13 #292 [Verbose] > |> from_list
00:00:13 #293 [Verbose] > |> fun f (n : i32) => f n
00:00:13 #294 [Verbose] > |> sum
00:00:13 #295 [Verbose] > |> _equal 45
00:00:13 #296 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5491-9153-9665bf2a1d4b\main.spi
00:00:13 #297 [Verbose] >
00:00:13 #298 [Verbose] > ╭─[ 175.67ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #299 [Verbose] > │ let rec method0 () : unit = │
00:00:13 #300 [Verbose] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
00:00:13 #301 [Verbose] > │ () │
00:00:13 #302 [Verbose] > │ method0() │
00:00:13 #303 [Verbose] > │ │
00:00:13 #304 [Verbose] > │ │
00:00:13 #305 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #306 [Verbose] >
00:00:13 #307 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #308 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #309 [Verbose] > │ ## to_list │
00:00:13 #310 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #311 [Verbose] >
00:00:13 #312 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #313 [Verbose] > inl to_list seq =
00:00:13 #314 [Verbose] > seq
00:00:13 #315 [Verbose] > |> fold (fun acc x => x :: acc) [[]]
00:00:13 #316 [Verbose] > |> listm.rev
00:00:13 #317 [Verbose] >
00:00:13 #318 [Verbose] > inl to_list_ seq =
00:00:13 #319 [Verbose] > seq
00:00:13 #320 [Verbose] > |> fold_ (fun acc x => x :: acc) [[]]
00:00:13 #321 [Verbose] > |> listm.rev
00:00:13 #322 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5509-0979-05ec4252e86b\main.spi
00:00:14 #323 [Verbose] >
00:00:14 #324 [Verbose] > ╭─[ 178.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #325 [Verbose] > │ () │
00:00:14 #326 [Verbose] > │ │
00:00:14 #327 [Verbose] > │ │
00:00:14 #328 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #329 [Verbose] >
00:00:14 #330 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #331 [Verbose] > // // test
00:00:14 #332 [Verbose] >
00:00:14 #333 [Verbose] > listm.init 10i32 id
00:00:14 #334 [Verbose] > |> from_list
00:00:14 #335 [Verbose] > |> fun f (n : i32) => f n
00:00:14 #336 [Verbose] > |> to_list
00:00:14 #337 [Verbose] > |> _equal (listm.init 10i32 id)
00:00:14 #338 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5528-2803-212e6f489db2\main.spi
00:00:14 #339 [Verbose] >
00:00:14 #340 [Verbose] > ╭─[ 240.11ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #341 [Verbose] > │ type UH0 = │
00:00:14 #342 [Verbose] > │ | UH0_0 of int32 * UH0 │
00:00:14 #343 [Verbose] > │ | UH0_1 │
00:00:14 #344 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #345 [Verbose] > │ let v88 : UH0 = UH0_1 │
00:00:14 #346 [Verbose] > │ let v89 : UH0 = UH0_0(9, v88) │
00:00:14 #347 [Verbose] > │ let v90 : UH0 = UH0_0(8, v89) │
00:00:14 #348 [Verbose] > │ let v91 : UH0 = UH0_0(7, v90) │
00:00:14 #349 [Verbose] > │ let v92 : UH0 = UH0_0(6, v91) │
00:00:14 #350 [Verbose] > │ let v93 : UH0 = UH0_0(5, v92) │
00:00:14 #351 [Verbose] > │ let v94 : UH0 = UH0_0(4, v93) │
00:00:14 #352 [Verbose] > │ let v95 : UH0 = UH0_0(3, v94) │
00:00:14 #353 [Verbose] > │ let v96 : UH0 = UH0_0(2, v95) │
00:00:14 #354 [Verbose] > │ let v97 : UH0 = UH0_0(1, v96) │
00:00:14 #355 [Verbose] > │ let v98 : UH0 = UH0_0(0, v97) │
00:00:14 #356 [Verbose] > │ let v99 : UH0 = UH0_1 │
00:00:14 #357 [Verbose] > │ let v100 : UH0 = UH0_0(9, v99) │
00:00:14 #358 [Verbose] > │ let v101 : UH0 = UH0_0(8, v100) │
00:00:14 #359 [Verbose] > │ let v102 : UH0 = UH0_0(7, v101) │
00:00:14 #360 [Verbose] > │ let v103 : UH0 = UH0_0(6, v102) │
00:00:14 #361 [Verbose] > │ let v104 : UH0 = UH0_0(5, v103) │
00:00:14 #362 [Verbose] > │ let v105 : UH0 = UH0_0(4, v104) │
00:00:14 #363 [Verbose] > │ let v106 : UH0 = UH0_0(3, v105) │
00:00:14 #364 [Verbose] > │ let v107 : UH0 = UH0_0(2, v106) │
00:00:14 #365 [Verbose] > │ let v108 : UH0 = UH0_0(1, v107) │
00:00:14 #366 [Verbose] > │ let v109 : UH0 = UH0_0(0, v108) │
00:00:14 #367 [Verbose] > │ let v110 : string = $"_equal / actual: %A{v98} / expected: %A{v109}" │
00:00:14 #368 [Verbose] > │ () │
00:00:14 #369 [Verbose] > │ method0() │
00:00:14 #370 [Verbose] > │ │
00:00:14 #371 [Verbose] > │ │
00:00:14 #372 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #373 [Verbose] >
00:00:14 #374 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #375 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #376 [Verbose] > │ ## take_while │
00:00:14 #377 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #378 [Verbose] >
00:00:14 #379 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #380 [Verbose] > inl take_while cond seq =
00:00:14 #381 [Verbose] > inl rec loop acc i =
00:00:14 #382 [Verbose] > match seq i with
00:00:14 #383 [Verbose] > | Some st when cond st i => loop (st :: acc) (i + 1)
00:00:14 #384 [Verbose] > | _ => acc |> listm.rev
00:00:14 #385 [Verbose] > loop [[]] 0
00:00:14 #386 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5553-5353-52bf0db8f186\main.spi
00:00:14 #387 [Verbose] >
00:00:14 #388 [Verbose] > ╭─[ 228.52ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #389 [Verbose] > │ () │
00:00:14 #390 [Verbose] > │ │
00:00:14 #391 [Verbose] > │ │
00:00:14 #392 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #393 [Verbose] >
00:00:14 #394 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #395 [Verbose] > // // test
00:00:14 #396 [Verbose] >
00:00:14 #397 [Verbose] > listm.init 10i32 id
00:00:14 #398 [Verbose] > |> from_list
00:00:14 #399 [Verbose] > |> take_while (fun n (_ : i32) => n < 5)
00:00:14 #400 [Verbose] > |> listm'.sum
00:00:14 #401 [Verbose] > |> _equal 10
00:00:14 #402 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5576-7660-7981ae6cb7f0\main.spi
00:00:14 #403 [Verbose] >
00:00:14 #404 [Verbose] > ╭─[ 173.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #405 [Verbose] > │ let rec method0 () : unit = │
00:00:14 #406 [Verbose] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
00:00:14 #407 [Verbose] > │ () │
00:00:14 #408 [Verbose] > │ method0() │
00:00:14 #409 [Verbose] > │ │
00:00:14 #410 [Verbose] > │ │
00:00:14 #411 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #412 [Verbose] >
00:00:14 #413 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 #414 [Verbose] > // // test
00:00:14 #415 [Verbose] >
00:00:14 #416 [Verbose] > stream.new_finite_stream print_and_return 10i32
00:00:14 #417 [Verbose] > |> flip stream.try_item
00:00:14 #418 [Verbose] > |> take_while (fun n (_ : i32) => n < 5)
00:00:14 #419 [Verbose] > |> listm'.sum
00:00:14 #420 [Verbose] > |> _equal 10
00:00:14 #421 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5594-9437-92dcac74ffcb\main.spi
00:00:15 #422 [Verbose] >
00:00:15 #423 [Verbose] > ╭─[ 298.94ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #424 [Verbose] > │ let rec method0 () : unit = │
00:00:15 #425 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:15 #426 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #427 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #428 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #429 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #430 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #431 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:15 #432 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #433 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #434 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:15 #435 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:15 #436 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:15 #437 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:15 #438 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:15 #439 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:15 #440 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:15 #441 [Verbose] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
00:00:15 #442 [Verbose] > │ () │
00:00:15 #443 [Verbose] > │ method0() │
00:00:15 #444 [Verbose] > │ │
00:00:15 #445 [Verbose] > │ print_and_return / x: 0 │
00:00:15 #446 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #447 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #448 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #449 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #450 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #451 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #452 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #453 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #454 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #455 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #456 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #457 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #458 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #459 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #460 [Verbose] > │ print_and_return / x: 5 │
00:00:15 #461 [Verbose] > │ │
00:00:15 #462 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #463 [Verbose] >
00:00:15 #464 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 #465 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 #466 [Verbose] > │ ## take_while_ │
00:00:15 #467 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #468 [Verbose] >
00:00:15 #469 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #470 [Verbose] > inl take_while_ cond seq =
00:00:15 #471 [Verbose] > let rec loop acc i =
00:00:15 #472 [Verbose] > match seq i with
00:00:15 #473 [Verbose] > | Some st when cond st i => loop (st :: acc) (i + 1)
00:00:15 #474 [Verbose] > | _ => acc |> listm.rev
00:00:15 #475 [Verbose] > loop [[]] 0
00:00:15 #476 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5626-2637-268dc83962e8\main.spi
00:00:15 #477 [Verbose] >
00:00:15 #478 [Verbose] > ╭─[ 182.13ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #479 [Verbose] > │ () │
00:00:15 #480 [Verbose] > │ │
00:00:15 #481 [Verbose] > │ │
00:00:15 #482 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #483 [Verbose] >
00:00:15 #484 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #485 [Verbose] > // // test
00:00:15 #486 [Verbose] >
00:00:15 #487 [Verbose] > stream.new_infinite_stream_ print_and_return
00:00:15 #488 [Verbose] > |> flip stream.try_item
00:00:15 #489 [Verbose] > |> take_while_ (fun n (_ : i32) => n < 5i32)
00:00:15 #490 [Verbose] > |> listm'.sum
00:00:15 #491 [Verbose] > |> _equal 10
00:00:15 #492 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5644-4480-461254f23362\main.spi
00:00:15 #493 [Verbose] >
00:00:15 #494 [Verbose] > ╭─[ 512.46ms - stdout ]────────────────────────────────────────────────────────╮
00:00:15 #495 [Verbose] > │ type UH0 = │
00:00:15 #496 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │
00:00:15 #497 [Verbose] > │ | UH0_1 │
00:00:15 #498 [Verbose] > │ and UH1 = │
00:00:15 #499 [Verbose] > │ | UH1_0 of int32 * UH1 │
00:00:15 #500 [Verbose] > │ | UH1_1 │
00:00:15 #501 [Verbose] > │ and [<Struct>] US0 = │
00:00:15 #502 [Verbose] > │ | US0_0 │
00:00:15 #503 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:15 #504 [Verbose] > │ let rec closure0 (v0 : int32) () : UH0 = │
00:00:15 #505 [Verbose] > │ let v1 : int32 = v0 + 1 │
00:00:15 #506 [Verbose] > │ method1(v1) │
00:00:15 #507 [Verbose] > │ and method1 (v0 : int32) : UH0 = │
00:00:15 #508 [Verbose] > │ printfn $"print_and_return / x: {v0}" │
00:00:15 #509 [Verbose] > │ let v1 : (unit -> UH0) = closure0(v0) │
00:00:15 #510 [Verbose] > │ UH0_0(v0, v1) │
00:00:15 #511 [Verbose] > │ and method3 (v0 : int32, v1 : UH0) : US0 = │
00:00:15 #512 [Verbose] > │ match v1 with │
00:00:15 #513 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:15 #514 [Verbose] > │ let v4 : bool = v0 <= 0 │
00:00:15 #515 [Verbose] > │ if v4 then │
00:00:15 #516 [Verbose] > │ US0_1(v2) │
00:00:15 #517 [Verbose] > │ else │
00:00:15 #518 [Verbose] > │ let v6 : int32 = v0 - 1 │
00:00:15 #519 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:15 #520 [Verbose] > │ method3(v6, v7) │
00:00:15 #521 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:15 #522 [Verbose] > │ US0_0 │
00:00:15 #523 [Verbose] > │ and method4 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:15 #524 [Verbose] > │ match v0 with │
00:00:15 #525 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:15 #526 [Verbose] > │ let v4 : UH1 = UH1_0(v2, v1) │
00:00:15 #527 [Verbose] > │ method4(v3, v4) │
00:00:15 #528 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:15 #529 [Verbose] > │ v1 │
00:00:15 #530 [Verbose] > │ and method2 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
00:00:15 #531 [Verbose] > │ let v3 : US0 = method3(v2, v0) │
00:00:15 #532 [Verbose] > │ match v3 with │
00:00:15 #533 [Verbose] > │ | US0_1(v4) -> (* Some *) │
00:00:15 #534 [Verbose] > │ let v5 : bool = v4 < 5 │
00:00:15 #535 [Verbose] > │ if v5 then │
00:00:15 #536 [Verbose] > │ let v6 : UH1 = UH1_0(v4, v1) │
00:00:15 #537 [Verbose] > │ let v7 : int32 = v2 + 1 │
00:00:15 #538 [Verbose] > │ method2(v0, v6, v7) │
00:00:15 #539 [Verbose] > │ else │
00:00:15 #540 [Verbose] > │ let v9 : UH1 = UH1_1 │
00:00:15 #541 [Verbose] > │ method4(v1, v9) │
00:00:15 #542 [Verbose] > │ | _ -> │
00:00:15 #543 [Verbose] > │ let v12 : UH1 = UH1_1 │
00:00:15 #544 [Verbose] > │ method4(v1, v12) │
00:00:15 #545 [Verbose] > │ and method5 (v0 : UH1, v1 : int32) : int32 = │
00:00:15 #546 [Verbose] > │ match v0 with │
00:00:15 #547 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:15 #548 [Verbose] > │ let v4 : int32 = v1 + v2 │
00:00:15 #549 [Verbose] > │ method5(v3, v4) │
00:00:15 #550 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:15 #551 [Verbose] > │ v1 │
00:00:15 #552 [Verbose] > │ and method0 () : unit = │
00:00:15 #553 [Verbose] > │ let v0 : int32 = 0 │
00:00:15 #554 [Verbose] > │ let v1 : UH0 = method1(v0) │
00:00:15 #555 [Verbose] > │ let v2 : UH1 = UH1_1 │
00:00:15 #556 [Verbose] > │ let v3 : int32 = 0 │
00:00:15 #557 [Verbose] > │ let v4 : UH1 = method2(v1, v2, v3) │
00:00:15 #558 [Verbose] > │ let v5 : int32 = 0 │
00:00:15 #559 [Verbose] > │ let v6 : int32 = method5(v4, v5) │
00:00:15 #560 [Verbose] > │ let v7 : bool = v6 = 10 │
00:00:15 #561 [Verbose] > │ let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}" │
00:00:15 #562 [Verbose] > │ let v9 : bool = v7 = false │
00:00:15 #563 [Verbose] > │ if v9 then │
00:00:15 #564 [Verbose] > │ failwith<unit> v8 │
00:00:15 #565 [Verbose] > │ method0() │
00:00:15 #566 [Verbose] > │ │
00:00:15 #567 [Verbose] > │ print_and_return / x: 0 │
00:00:15 #568 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #569 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #570 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #571 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #572 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #573 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #574 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #575 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #576 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #577 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #578 [Verbose] > │ print_and_return / x: 1 │
00:00:15 #579 [Verbose] > │ print_and_return / x: 2 │
00:00:15 #580 [Verbose] > │ print_and_return / x: 3 │
00:00:15 #581 [Verbose] > │ print_and_return / x: 4 │
00:00:15 #582 [Verbose] > │ print_and_return / x: 5 │
00:00:15 #583 [Verbose] > │ │
00:00:15 #584 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 #585 [Verbose] >
00:00:15 #586 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #587 [Verbose] > // // test
00:00:15 #588 [Verbose] >
00:00:15 #589 [Verbose] > stream.new_infinite_stream_ print_and_return
00:00:15 #590 [Verbose] > |> stream.memoize
00:00:15 #591 [Verbose] > |> fun list =>
00:00:15 #592 [Verbose] > inl list = list ()
00:00:15 #593 [Verbose] > fun n =>
00:00:15 #594 [Verbose] > list |> stream.try_item n
00:00:15 #595 [Verbose] > |> take_while_ (fun n (_ : i32) => n < 5i32)
00:00:15 #596 [Verbose] > |> listm'.sum
00:00:15 #597 [Verbose] > |> _equal 10
00:00:15 #598 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5699-9930-9d1e0026768d\main.spi
00:00:16 #599 [Verbose] >
00:00:16 #600 [Verbose] > ╭─[ 473.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #601 [Verbose] > │ type UH0 = │
00:00:16 #602 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │
00:00:16 #603 [Verbose] > │ | UH0_1 │
00:00:16 #604 [Verbose] > │ and [<Struct>] US0 = │
00:00:16 #605 [Verbose] > │ | US0_0 of f0_0 : UH0 │
00:00:16 #606 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │
00:00:16 #607 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:16 #608 [Verbose] > │ and UH1 = │
00:00:16 #609 [Verbose] > │ | UH1_0 of int32 * UH1 │
00:00:16 #610 [Verbose] > │ | UH1_1 │
00:00:16 #611 [Verbose] > │ and [<Struct>] US1 = │
00:00:16 #612 [Verbose] > │ | US1_0 │
00:00:16 #613 [Verbose] > │ | US1_1 of f1_0 : int32 │
00:00:16 #614 [Verbose] > │ let rec closure0 (v0 : int32) () : UH0 = │
00:00:16 #615 [Verbose] > │ let v1 : int32 = v0 + 1 │
00:00:16 #616 [Verbose] > │ method1(v1) │
00:00:16 #617 [Verbose] > │ and method1 (v0 : int32) : UH0 = │
00:00:16 #618 [Verbose] > │ printfn $"print_and_return / x: {v0}" │
00:00:16 #619 [Verbose] > │ let v1 : (unit -> UH0) = closure0(v0) │
00:00:16 #620 [Verbose] > │ UH0_0(v0, v1) │
00:00:16 #621 [Verbose] > │ and closure1 (v0 : UH0) () : UH0 = │
00:00:16 #622 [Verbose] > │ v0 │
00:00:16 #623 [Verbose] > │ and closure2 (v0 : UH0, v1 : Mut0) () : UH0 = │
00:00:16 #624 [Verbose] > │ let v2 : US0 = v1.l0 │
00:00:16 #625 [Verbose] > │ match v2 with │
00:00:16 #626 [Verbose] > │ | US0_0(v3) -> (* Computed *) │
00:00:16 #627 [Verbose] > │ v3 │
00:00:16 #628 [Verbose] > │ | US0_1(v4) -> (* NotComputed *) │
00:00:16 #629 [Verbose] > │ let v5 : UH0 = v4 () │
00:00:16 #630 [Verbose] > │ let v12 : UH0 = │
00:00:16 #631 [Verbose] > │ match v5 with │
00:00:16 #632 [Verbose] > │ | UH0_0(v7, v8) -> (* StreamCons *) │
00:00:16 #633 [Verbose] > │ let v9 : (unit -> UH0) = method2(v0, v8) │
00:00:16 #634 [Verbose] > │ UH0_0(v7, v9) │
00:00:16 #635 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:16 #636 [Verbose] > │ UH0_1 │
00:00:16 #637 [Verbose] > │ let v13 : US0 = US0_0(v12) │
00:00:16 #638 [Verbose] > │ v1.l0 <- v13 │
00:00:16 #639 [Verbose] > │ v12 │
00:00:16 #640 [Verbose] > │ and method2 (v0 : UH0, v1 : (unit -> UH0)) : (unit -> UH0) = │
00:00:16 #641 [Verbose] > │ let v2 : US0 = US0_1(v1) │
00:00:16 #642 [Verbose] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │
00:00:16 #643 [Verbose] > │ closure2(v0, v3) │
00:00:16 #644 [Verbose] > │ and method4 (v0 : int32, v1 : UH0) : US1 = │
00:00:16 #645 [Verbose] > │ match v1 with │
00:00:16 #646 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:16 #647 [Verbose] > │ let v4 : bool = v0 <= 0 │
00:00:16 #648 [Verbose] > │ if v4 then │
00:00:16 #649 [Verbose] > │ US1_1(v2) │
00:00:16 #650 [Verbose] > │ else │
00:00:16 #651 [Verbose] > │ let v6 : int32 = v0 - 1 │
00:00:16 #652 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:16 #653 [Verbose] > │ method4(v6, v7) │
00:00:16 #654 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:16 #655 [Verbose] > │ US1_0 │
00:00:16 #656 [Verbose] > │ and method5 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:16 #657 [Verbose] > │ match v0 with │
00:00:16 #658 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:16 #659 [Verbose] > │ let v4 : UH1 = UH1_0(v2, v1) │
00:00:16 #660 [Verbose] > │ method5(v3, v4) │
00:00:16 #661 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:16 #662 [Verbose] > │ v1 │
00:00:16 #663 [Verbose] > │ and method3 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
00:00:16 #664 [Verbose] > │ let v3 : US1 = method4(v2, v0) │
00:00:16 #665 [Verbose] > │ match v3 with │
00:00:16 #666 [Verbose] > │ | US1_1(v4) -> (* Some *) │
00:00:16 #667 [Verbose] > │ let v5 : bool = v4 < 5 │
00:00:16 #668 [Verbose] > │ if v5 then │
00:00:16 #669 [Verbose] > │ let v6 : UH1 = UH1_0(v4, v1) │
00:00:16 #670 [Verbose] > │ let v7 : int32 = v2 + 1 │
00:00:16 #671 [Verbose] > │ method3(v0, v6, v7) │
00:00:16 #672 [Verbose] > │ else │
00:00:16 #673 [Verbose] > │ let v9 : UH1 = UH1_1 │
00:00:16 #674 [Verbose] > │ method5(v1, v9) │
00:00:16 #675 [Verbose] > │ | _ -> │
00:00:16 #676 [Verbose] > │ let v12 : UH1 = UH1_1 │
00:00:16 #677 [Verbose] > │ method5(v1, v12) │
00:00:16 #678 [Verbose] > │ and method6 (v0 : UH1, v1 : int32) : int32 = │
00:00:16 #679 [Verbose] > │ match v0 with │
00:00:16 #680 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:16 #681 [Verbose] > │ let v4 : int32 = v1 + v2 │
00:00:16 #682 [Verbose] > │ method6(v3, v4) │
00:00:16 #683 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:16 #684 [Verbose] > │ v1 │
00:00:16 #685 [Verbose] > │ and method0 () : unit = │
00:00:16 #686 [Verbose] > │ let v0 : int32 = 0 │
00:00:16 #687 [Verbose] > │ let v1 : UH0 = method1(v0) │
00:00:16 #688 [Verbose] > │ let v2 : (unit -> UH0) = closure1(v1) │
00:00:16 #689 [Verbose] > │ let v3 : (unit -> UH0) = method2(v1, v2) │
00:00:16 #690 [Verbose] > │ let v4 : UH0 = v3 () │
00:00:16 #691 [Verbose] > │ let v5 : UH1 = UH1_1 │
00:00:16 #692 [Verbose] > │ let v6 : int32 = 0 │
00:00:16 #693 [Verbose] > │ let v7 : UH1 = method3(v4, v5, v6) │
00:00:16 #694 [Verbose] > │ let v8 : int32 = 0 │
00:00:16 #695 [Verbose] > │ let v9 : int32 = method6(v7, v8) │
00:00:16 #696 [Verbose] > │ let v10 : bool = v9 = 10 │
00:00:16 #697 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{10}" │
00:00:16 #698 [Verbose] > │ let v12 : bool = v10 = false │
00:00:16 #699 [Verbose] > │ if v12 then │
00:00:16 #700 [Verbose] > │ failwith<unit> v11 │
00:00:16 #701 [Verbose] > │ method0() │
00:00:16 #702 [Verbose] > │ │
00:00:16 #703 [Verbose] > │ print_and_return / x: 0 │
00:00:16 #704 [Verbose] > │ print_and_return / x: 1 │
00:00:16 #705 [Verbose] > │ print_and_return / x: 2 │
00:00:16 #706 [Verbose] > │ print_and_return / x: 3 │
00:00:16 #707 [Verbose] > │ print_and_return / x: 4 │
00:00:16 #708 [Verbose] > │ print_and_return / x: 5 │
00:00:16 #709 [Verbose] > │ │
00:00:16 #710 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #711 [Verbose] >
00:00:16 #712 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #713 [Verbose] > // // test
00:00:16 #714 [Verbose] >
00:00:16 #715 [Verbose] > stream.new_finite_stream print_and_return 10i32
00:00:16 #716 [Verbose] > |> stream.memoize
00:00:16 #717 [Verbose] > |> fun list =>
00:00:16 #718 [Verbose] > inl list = list ()
00:00:16 #719 [Verbose] > fun n =>
00:00:16 #720 [Verbose] > list |> stream.try_item n
00:00:16 #721 [Verbose] > |> take_while_ (fun n (_ : i32) => n < 5)
00:00:16 #722 [Verbose] > |> listm'.sum
00:00:16 #723 [Verbose] > |> _equal 10
00:00:16 #724 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5751-5151-59876d07df14\main.spi
00:00:16 #725 [Verbose] >
00:00:16 #726 [Verbose] > ╭─[ 359.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #727 [Verbose] > │ type UH0 = │
00:00:16 #728 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │
00:00:16 #729 [Verbose] > │ | UH0_1 │
00:00:16 #730 [Verbose] > │ and [<Struct>] US0 = │
00:00:16 #731 [Verbose] > │ | US0_0 of f0_0 : UH0 │
00:00:16 #732 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │
00:00:16 #733 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:16 #734 [Verbose] > │ and UH1 = │
00:00:16 #735 [Verbose] > │ | UH1_0 of int32 * UH1 │
00:00:16 #736 [Verbose] > │ | UH1_1 │
00:00:16 #737 [Verbose] > │ and [<Struct>] US1 = │
00:00:16 #738 [Verbose] > │ | US1_0 │
00:00:16 #739 [Verbose] > │ | US1_1 of f1_0 : int32 │
00:00:16 #740 [Verbose] > │ let rec closure10 () () : UH0 = │
00:00:16 #741 [Verbose] > │ UH0_1 │
00:00:16 #742 [Verbose] > │ and closure9 () () : UH0 = │
00:00:16 #743 [Verbose] > │ printfn $"print_and_return / x: {9}" │
00:00:16 #744 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │
00:00:16 #745 [Verbose] > │ UH0_0(9, v0) │
00:00:16 #746 [Verbose] > │ and closure8 () () : UH0 = │
00:00:16 #747 [Verbose] > │ printfn $"print_and_return / x: {8}" │
00:00:16 #748 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │
00:00:16 #749 [Verbose] > │ UH0_0(8, v0) │
00:00:16 #750 [Verbose] > │ and closure7 () () : UH0 = │
00:00:16 #751 [Verbose] > │ printfn $"print_and_return / x: {7}" │
00:00:16 #752 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │
00:00:16 #753 [Verbose] > │ UH0_0(7, v0) │
00:00:16 #754 [Verbose] > │ and closure6 () () : UH0 = │
00:00:16 #755 [Verbose] > │ printfn $"print_and_return / x: {6}" │
00:00:16 #756 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │
00:00:16 #757 [Verbose] > │ UH0_0(6, v0) │
00:00:16 #758 [Verbose] > │ and closure5 () () : UH0 = │
00:00:16 #759 [Verbose] > │ printfn $"print_and_return / x: {5}" │
00:00:16 #760 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │
00:00:16 #761 [Verbose] > │ UH0_0(5, v0) │
00:00:16 #762 [Verbose] > │ and closure4 () () : UH0 = │
00:00:16 #763 [Verbose] > │ printfn $"print_and_return / x: {4}" │
00:00:16 #764 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │
00:00:16 #765 [Verbose] > │ UH0_0(4, v0) │
00:00:16 #766 [Verbose] > │ and closure3 () () : UH0 = │
00:00:16 #767 [Verbose] > │ printfn $"print_and_return / x: {3}" │
00:00:16 #768 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │
00:00:16 #769 [Verbose] > │ UH0_0(3, v0) │
00:00:16 #770 [Verbose] > │ and closure2 () () : UH0 = │
00:00:16 #771 [Verbose] > │ printfn $"print_and_return / x: {2}" │
00:00:16 #772 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │
00:00:16 #773 [Verbose] > │ UH0_0(2, v0) │
00:00:16 #774 [Verbose] > │ and closure1 () () : UH0 = │
00:00:16 #775 [Verbose] > │ printfn $"print_and_return / x: {1}" │
00:00:16 #776 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │
00:00:16 #777 [Verbose] > │ UH0_0(1, v0) │
00:00:16 #778 [Verbose] > │ and closure0 () () : UH0 = │
00:00:16 #779 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │
00:00:16 #780 [Verbose] > │ UH0_0(0, v0) │
00:00:16 #781 [Verbose] > │ and closure11 (v0 : Mut0) () : UH0 = │
00:00:16 #782 [Verbose] > │ let v1 : US0 = v0.l0 │
00:00:16 #783 [Verbose] > │ match v1 with │
00:00:16 #784 [Verbose] > │ | US0_0(v2) -> (* Computed *) │
00:00:16 #785 [Verbose] > │ v2 │
00:00:16 #786 [Verbose] > │ | US0_1(v3) -> (* NotComputed *) │
00:00:16 #787 [Verbose] > │ let v4 : UH0 = v3 () │
00:00:16 #788 [Verbose] > │ let v13 : UH0 = │
00:00:16 #789 [Verbose] > │ match v4 with │
00:00:16 #790 [Verbose] > │ | UH0_0(v6, v7) -> (* StreamCons *) │
00:00:16 #791 [Verbose] > │ let v8 : US0 = US0_1(v7) │
00:00:16 #792 [Verbose] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
00:00:16 #793 [Verbose] > │ let v10 : (unit -> UH0) = closure11(v9) │
00:00:16 #794 [Verbose] > │ UH0_0(v6, v10) │
00:00:16 #795 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:16 #796 [Verbose] > │ UH0_1 │
00:00:16 #797 [Verbose] > │ let v14 : US0 = US0_0(v13) │
00:00:16 #798 [Verbose] > │ v0.l0 <- v14 │
00:00:16 #799 [Verbose] > │ v13 │
00:00:16 #800 [Verbose] > │ and method2 (v0 : int32, v1 : UH0) : US1 = │
00:00:16 #801 [Verbose] > │ match v1 with │
00:00:16 #802 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:16 #803 [Verbose] > │ let v4 : bool = v0 <= 0 │
00:00:16 #804 [Verbose] > │ if v4 then │
00:00:16 #805 [Verbose] > │ US1_1(v2) │
00:00:16 #806 [Verbose] > │ else │
00:00:16 #807 [Verbose] > │ let v6 : int32 = v0 - 1 │
00:00:16 #808 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:16 #809 [Verbose] > │ method2(v6, v7) │
00:00:16 #810 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:16 #811 [Verbose] > │ US1_0 │
00:00:16 #812 [Verbose] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:16 #813 [Verbose] > │ match v0 with │
00:00:16 #814 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:16 #815 [Verbose] > │ let v4 : UH1 = UH1_0(v2, v1) │
00:00:16 #816 [Verbose] > │ method3(v3, v4) │
00:00:16 #817 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:16 #818 [Verbose] > │ v1 │
00:00:16 #819 [Verbose] > │ and method1 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
00:00:16 #820 [Verbose] > │ let v3 : US1 = method2(v2, v0) │
00:00:16 #821 [Verbose] > │ match v3 with │
00:00:16 #822 [Verbose] > │ | US1_1(v4) -> (* Some *) │
00:00:16 #823 [Verbose] > │ let v5 : bool = v4 < 5 │
00:00:16 #824 [Verbose] > │ if v5 then │
00:00:16 #825 [Verbose] > │ let v6 : UH1 = UH1_0(v4, v1) │
00:00:16 #826 [Verbose] > │ let v7 : int32 = v2 + 1 │
00:00:16 #827 [Verbose] > │ method1(v0, v6, v7) │
00:00:16 #828 [Verbose] > │ else │
00:00:16 #829 [Verbose] > │ let v9 : UH1 = UH1_1 │
00:00:16 #830 [Verbose] > │ method3(v1, v9) │
00:00:16 #831 [Verbose] > │ | _ -> │
00:00:16 #832 [Verbose] > │ let v12 : UH1 = UH1_1 │
00:00:16 #833 [Verbose] > │ method3(v1, v12) │
00:00:16 #834 [Verbose] > │ and method4 (v0 : UH1, v1 : int32) : int32 = │
00:00:16 #835 [Verbose] > │ match v0 with │
00:00:16 #836 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:16 #837 [Verbose] > │ let v4 : int32 = v1 + v2 │
00:00:16 #838 [Verbose] > │ method4(v3, v4) │
00:00:16 #839 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:16 #840 [Verbose] > │ v1 │
00:00:16 #841 [Verbose] > │ and method0 () : unit = │
00:00:16 #842 [Verbose] > │ printfn $"print_and_return / x: {0}" │
00:00:16 #843 [Verbose] > │ let v0 : (unit -> UH0) = closure0() │
00:00:16 #844 [Verbose] > │ let v1 : US0 = US0_1(v0) │
00:00:16 #845 [Verbose] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │
00:00:16 #846 [Verbose] > │ let v3 : US0 = v2.l0 │
00:00:16 #847 [Verbose] > │ let v18 : UH0 = │
00:00:16 #848 [Verbose] > │ match v3 with │
00:00:16 #849 [Verbose] > │ | US0_0(v4) -> (* Computed *) │
00:00:16 #850 [Verbose] > │ v4 │
00:00:16 #851 [Verbose] > │ | US0_1(v5) -> (* NotComputed *) │
00:00:16 #852 [Verbose] > │ let v6 : UH0 = v5 () │
00:00:16 #853 [Verbose] > │ let v15 : UH0 = │
00:00:16 #854 [Verbose] > │ match v6 with │
00:00:16 #855 [Verbose] > │ | UH0_0(v8, v9) -> (* StreamCons *) │
00:00:16 #856 [Verbose] > │ let v10 : US0 = US0_1(v9) │
00:00:16 #857 [Verbose] > │ let v11 : Mut0 = {l0 = v10} : Mut0 │
00:00:16 #858 [Verbose] > │ let v12 : (unit -> UH0) = closure11(v11) │
00:00:16 #859 [Verbose] > │ UH0_0(v8, v12) │
00:00:16 #860 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:16 #861 [Verbose] > │ UH0_1 │
00:00:16 #862 [Verbose] > │ let v16 : US0 = US0_0(v15) │
00:00:16 #863 [Verbose] > │ v2.l0 <- v16 │
00:00:16 #864 [Verbose] > │ v15 │
00:00:16 #865 [Verbose] > │ let v19 : UH1 = UH1_1 │
00:00:16 #866 [Verbose] > │ let v20 : int32 = 0 │
00:00:16 #867 [Verbose] > │ let v21 : UH1 = method1(v18, v19, v20) │
00:00:16 #868 [Verbose] > │ let v22 : int32 = 0 │
00:00:16 #869 [Verbose] > │ let v23 : int32 = method4(v21, v22) │
00:00:16 #870 [Verbose] > │ let v24 : bool = v23 = 10 │
00:00:16 #871 [Verbose] > │ let v25 : string = $"_equal / actual: %A{v23} / expected: %A{10}" │
00:00:16 #872 [Verbose] > │ let v26 : bool = v24 = false │
00:00:16 #873 [Verbose] > │ if v26 then │
00:00:16 #874 [Verbose] > │ failwith<unit> v25 │
00:00:16 #875 [Verbose] > │ method0() │
00:00:16 #876 [Verbose] > │ │
00:00:16 #877 [Verbose] > │ print_and_return / x: 0 │
00:00:16 #878 [Verbose] > │ print_and_return / x: 1 │
00:00:16 #879 [Verbose] > │ print_and_return / x: 2 │
00:00:16 #880 [Verbose] > │ print_and_return / x: 3 │
00:00:16 #881 [Verbose] > │ print_and_return / x: 4 │
00:00:16 #882 [Verbose] > │ print_and_return / x: 5 │
00:00:16 #883 [Verbose] > │ │
00:00:16 #884 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #885 [Verbose] >
00:00:16 #886 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 #887 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 #888 [Verbose] > │ ## memoize │
00:00:16 #889 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #890 [Verbose] >
00:00:16 #891 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #892 [Verbose] > inl memoize seq =
00:00:16 #893 [Verbose] > inl state = mut [[]]
00:00:16 #894 [Verbose] > fun n =>
00:00:16 #895 [Verbose] > match *state |> listm'.try_find (fun (n', _) => n' = n) with
00:00:16 #896 [Verbose] > | Some (_, v) => v
00:00:16 #897 [Verbose] > | None =>
00:00:16 #898 [Verbose] > inl new_state = seq n
00:00:16 #899 [Verbose] > state <- (n, new_state) :: *state
00:00:16 #900 [Verbose] > new_state
00:00:16 #901 [Verbose] >
00:00:16 #902 [Verbose] > inl memoize_ seq =
00:00:16 #903 [Verbose] > inl state = mut [[]]
00:00:16 #904 [Verbose] > fun n =>
00:00:16 #905 [Verbose] > match *state |> listm'.try_find_ (fun (n', _) => n' = n) with
00:00:16 #906 [Verbose] > | Some (_, v) => v
00:00:16 #907 [Verbose] > | None =>
00:00:16 #908 [Verbose] > inl new_state = seq n
00:00:16 #909 [Verbose] > state <- (n, new_state) :: *state
00:00:16 #910 [Verbose] > new_state
00:00:16 #911 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5794-9478-909ddde8bbd6\main.spi
00:00:16 #912 [Verbose] >
00:00:16 #913 [Verbose] > ╭─[ 160.45ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 #914 [Verbose] > │ () │
00:00:16 #915 [Verbose] > │ │
00:00:16 #916 [Verbose] > │ │
00:00:16 #917 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 #918 [Verbose] >
00:00:16 #919 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 #920 [Verbose] > // // test
00:00:16 #921 [Verbose] >
00:00:16 #922 [Verbose] > inl seq =
00:00:16 #923 [Verbose] > fun n =>
00:00:16 #924 [Verbose] > n |> print_and_return |> Some
00:00:16 #925 [Verbose] > |> memoize_
00:00:16 #926 [Verbose] >
00:00:16 #927 [Verbose] > seq
00:00:16 #928 [Verbose] > |> take_while_ (fun n (_ : i32) => n < 5)
00:00:16 #929 [Verbose] > |> listm'.sum
00:00:16 #930 [Verbose] > |> _equal 10
00:00:16 #931 [Verbose] >
00:00:16 #932 [Verbose] > seq
00:00:16 #933 [Verbose] > |> take_while_ (fun n _ => n < 5)
00:00:16 #934 [Verbose] > |> listm'.sum
00:00:16 #935 [Verbose] > |> _equal 10
00:00:16 #936 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5811-1101-1303b6292a02\main.spi
00:00:17 #937 [Verbose] >
00:00:17 #938 [Verbose] > ╭─[ 370.19ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #939 [Verbose] > │ type [<Struct>] US0 = │
00:00:17 #940 [Verbose] > │ | US0_0 │
00:00:17 #941 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:00:17 #942 [Verbose] > │ and UH0 = │
00:00:17 #943 [Verbose] > │ | UH0_0 of int32 * US0 * UH0 │
00:00:17 #944 [Verbose] > │ | UH0_1 │
00:00:17 #945 [Verbose] > │ and Mut0 = {mutable l0 : UH0} │
00:00:17 #946 [Verbose] > │ and UH1 = │
00:00:17 #947 [Verbose] > │ | UH1_0 of int32 * UH1 │
00:00:17 #948 [Verbose] > │ | UH1_1 │
00:00:17 #949 [Verbose] > │ and [<Struct>] US1 = │
00:00:17 #950 [Verbose] > │ | US1_0 │
00:00:17 #951 [Verbose] > │ | US1_1 of f1_0 : int32 * f1_1 : US0 │
00:00:17 #952 [Verbose] > │ let rec method2 (v0 : int32, v1 : UH0) : US1 = │
00:00:17 #953 [Verbose] > │ match v1 with │
00:00:17 #954 [Verbose] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
00:00:17 #955 [Verbose] > │ let v6 : bool = v3 = v0 │
00:00:17 #956 [Verbose] > │ if v6 then │
00:00:17 #957 [Verbose] > │ US1_1(v3, v4) │
00:00:17 #958 [Verbose] > │ else │
00:00:17 #959 [Verbose] > │ method2(v0, v5) │
00:00:17 #960 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:17 #961 [Verbose] > │ US1_0 │
00:00:17 #962 [Verbose] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:17 #963 [Verbose] > │ match v0 with │
00:00:17 #964 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:17 #965 [Verbose] > │ let v4 : UH1 = UH1_0(v2, v1) │
00:00:17 #966 [Verbose] > │ method3(v3, v4) │
00:00:17 #967 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:17 #968 [Verbose] > │ v1 │
00:00:17 #969 [Verbose] > │ and method1 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 = │
00:00:17 #970 [Verbose] > │ let v3 : UH0 = v0.l0 │
00:00:17 #971 [Verbose] > │ let v4 : US1 = method2(v2, v3) │
00:00:17 #972 [Verbose] > │ let v12 : US0 = │
00:00:17 #973 [Verbose] > │ match v4 with │
00:00:17 #974 [Verbose] > │ | US1_0 -> (* None *) │
00:00:17 #975 [Verbose] > │ printfn $"print_and_return / x: {v2}" │
00:00:17 #976 [Verbose] > │ let v7 : UH0 = v0.l0 │
00:00:17 #977 [Verbose] > │ let v8 : US0 = US0_1(v2) │
00:00:17 #978 [Verbose] > │ let v9 : UH0 = UH0_0(v2, v8, v7) │
00:00:17 #979 [Verbose] > │ v0.l0 <- v9 │
00:00:17 #980 [Verbose] > │ US0_1(v2) │
00:00:17 #981 [Verbose] > │ | US1_1(v5, v6) -> (* Some *) │
00:00:17 #982 [Verbose] > │ v6 │
00:00:17 #983 [Verbose] > │ match v12 with │
00:00:17 #984 [Verbose] > │ | US0_1(v13) -> (* Some *) │
00:00:17 #985 [Verbose] > │ let v14 : bool = v13 < 5 │
00:00:17 #986 [Verbose] > │ if v14 then │
00:00:17 #987 [Verbose] > │ let v15 : UH1 = UH1_0(v13, v1) │
00:00:17 #988 [Verbose] > │ let v16 : int32 = v2 + 1 │
00:00:17 #989 [Verbose] > │ method1(v0, v15, v16) │
00:00:17 #990 [Verbose] > │ else │
00:00:17 #991 [Verbose] > │ let v18 : UH1 = UH1_1 │
00:00:17 #992 [Verbose] > │ method3(v1, v18) │
00:00:17 #993 [Verbose] > │ | _ -> │
00:00:17 #994 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:17 #995 [Verbose] > │ method3(v1, v21) │
00:00:17 #996 [Verbose] > │ and method4 (v0 : UH1, v1 : int32) : int32 = │
00:00:17 #997 [Verbose] > │ match v0 with │
00:00:17 #998 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:17 #999 [Verbose] > │ let v4 : int32 = v1 + v2 │
00:00:17 #1000 [Verbose] > │ method4(v3, v4) │
00:00:17 #1001 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:17 #1002 [Verbose] > │ v1 │
00:00:17 #1003 [Verbose] > │ and method5 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 = │
00:00:17 #1004 [Verbose] > │ let v3 : UH0 = v0.l0 │
00:00:17 #1005 [Verbose] > │ let v4 : US1 = method2(v2, v3) │
00:00:17 #1006 [Verbose] > │ let v12 : US0 = │
00:00:17 #1007 [Verbose] > │ match v4 with │
00:00:17 #1008 [Verbose] > │ | US1_0 -> (* None *) │
00:00:17 #1009 [Verbose] > │ printfn $"print_and_return / x: {v2}" │
00:00:17 #1010 [Verbose] > │ let v7 : UH0 = v0.l0 │
00:00:17 #1011 [Verbose] > │ let v8 : US0 = US0_1(v2) │
00:00:17 #1012 [Verbose] > │ let v9 : UH0 = UH0_0(v2, v8, v7) │
00:00:17 #1013 [Verbose] > │ v0.l0 <- v9 │
00:00:17 #1014 [Verbose] > │ US0_1(v2) │
00:00:17 #1015 [Verbose] > │ | US1_1(v5, v6) -> (* Some *) │
00:00:17 #1016 [Verbose] > │ v6 │
00:00:17 #1017 [Verbose] > │ match v12 with │
00:00:17 #1018 [Verbose] > │ | US0_1(v13) -> (* Some *) │
00:00:17 #1019 [Verbose] > │ let v14 : bool = v13 < 5 │
00:00:17 #1020 [Verbose] > │ if v14 then │
00:00:17 #1021 [Verbose] > │ let v15 : UH1 = UH1_0(v13, v1) │
00:00:17 #1022 [Verbose] > │ let v16 : int32 = v2 + 1 │
00:00:17 #1023 [Verbose] > │ method5(v0, v15, v16) │
00:00:17 #1024 [Verbose] > │ else │
00:00:17 #1025 [Verbose] > │ let v18 : UH1 = UH1_1 │
00:00:17 #1026 [Verbose] > │ method3(v1, v18) │
00:00:17 #1027 [Verbose] > │ | _ -> │
00:00:17 #1028 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:17 #1029 [Verbose] > │ method3(v1, v21) │
00:00:17 #1030 [Verbose] > │ and method0 () : unit = │
00:00:17 #1031 [Verbose] > │ let v0 : UH0 = UH0_1 │
00:00:17 #1032 [Verbose] > │ let v1 : Mut0 = {l0 = v0} : Mut0 │
00:00:17 #1033 [Verbose] > │ let v2 : UH1 = UH1_1 │
00:00:17 #1034 [Verbose] > │ let v3 : int32 = 0 │
00:00:17 #1035 [Verbose] > │ let v4 : UH1 = method1(v1, v2, v3) │
00:00:17 #1036 [Verbose] > │ let v5 : int32 = 0 │
00:00:17 #1037 [Verbose] > │ let v6 : int32 = method4(v4, v5) │
00:00:17 #1038 [Verbose] > │ let v7 : bool = v6 = 10 │
00:00:17 #1039 [Verbose] > │ let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}" │
00:00:17 #1040 [Verbose] > │ let v9 : bool = v7 = false │
00:00:17 #1041 [Verbose] > │ if v9 then │
00:00:17 #1042 [Verbose] > │ failwith<unit> v8 │
00:00:17 #1043 [Verbose] > │ let v10 : UH1 = UH1_1 │
00:00:17 #1044 [Verbose] > │ let v11 : int32 = 0 │
00:00:17 #1045 [Verbose] > │ let v12 : UH1 = method5(v1, v10, v11) │
00:00:17 #1046 [Verbose] > │ let v13 : int32 = 0 │
00:00:17 #1047 [Verbose] > │ let v14 : int32 = method4(v12, v13) │
00:00:17 #1048 [Verbose] > │ let v15 : bool = v14 = 10 │
00:00:17 #1049 [Verbose] > │ let v16 : string = $"_equal / actual: %A{v14} / expected: %A{10}" │
00:00:17 #1050 [Verbose] > │ let v17 : bool = v15 = false │
00:00:17 #1051 [Verbose] > │ if v17 then │
00:00:17 #1052 [Verbose] > │ failwith<unit> v16 │
00:00:17 #1053 [Verbose] > │ method0() │
00:00:17 #1054 [Verbose] > │ │
00:00:17 #1055 [Verbose] > │ print_and_return / x: 0 │
00:00:17 #1056 [Verbose] > │ print_and_return / x: 1 │
00:00:17 #1057 [Verbose] > │ print_and_return / x: 2 │
00:00:17 #1058 [Verbose] > │ print_and_return / x: 3 │
00:00:17 #1059 [Verbose] > │ print_and_return / x: 4 │
00:00:17 #1060 [Verbose] > │ print_and_return / x: 5 │
00:00:17 #1061 [Verbose] > │ │
00:00:17 #1062 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1063 [Verbose] >
00:00:17 #1064 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 #1065 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 #1066 [Verbose] > │ ## iterate │
00:00:17 #1067 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1068 [Verbose] >
00:00:17 #1069 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #1070 [Verbose] > inl iterate f x0 num_steps =
00:00:17 #1071 [Verbose] > inl rec loop x n =
00:00:17 #1072 [Verbose] > if n <= 0
00:00:17 #1073 [Verbose] > then x
00:00:17 #1074 [Verbose] > else loop (f x) (n - 1)
00:00:17 #1075 [Verbose] > loop x0 num_steps
00:00:17 #1076 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5854-5461-57c14349112a\main.spi
00:00:17 #1077 [Verbose] >
00:00:17 #1078 [Verbose] > ╭─[ 166.98ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #1079 [Verbose] > │ () │
00:00:17 #1080 [Verbose] > │ │
00:00:17 #1081 [Verbose] > │ │
00:00:17 #1082 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1083 [Verbose] >
00:00:17 #1084 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #1085 [Verbose] > // // test
00:00:17 #1086 [Verbose] >
00:00:17 #1087 [Verbose] > 10i32 |> iterate ((*) 2) 1i32
00:00:17 #1088 [Verbose] > |> _equal 1024
00:00:17 #1089 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5871-7135-79863071be82\main.spi
00:00:17 #1090 [Verbose] >
00:00:17 #1091 [Verbose] > ╭─[ 202.58ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #1092 [Verbose] > │ let rec method0 () : unit = │
00:00:17 #1093 [Verbose] > │ let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}" │
00:00:17 #1094 [Verbose] > │ () │
00:00:17 #1095 [Verbose] > │ method0() │
00:00:17 #1096 [Verbose] > │ │
00:00:17 #1097 [Verbose] > │ │
00:00:17 #1098 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1099 [Verbose] >
00:00:17 #1100 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #1101 [Verbose] > inl iterate_ f x0 num_steps =
00:00:17 #1102 [Verbose] > let rec loop x n =
00:00:17 #1103 [Verbose] > if n <= 0
00:00:17 #1104 [Verbose] > then x
00:00:17 #1105 [Verbose] > else loop (f x) (n - 1)
00:00:17 #1106 [Verbose] > loop x0 num_steps
00:00:17 #1107 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5893-9308-9fd9fda71be6\main.spi
00:00:17 #1108 [Verbose] >
00:00:17 #1109 [Verbose] > ╭─[ 192.74ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 #1110 [Verbose] > │ () │
00:00:17 #1111 [Verbose] > │ │
00:00:17 #1112 [Verbose] > │ │
00:00:17 #1113 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 #1114 [Verbose] >
00:00:17 #1115 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 #1116 [Verbose] > // // test
00:00:17 #1117 [Verbose] >
00:00:17 #1118 [Verbose] > 10i32 |> iterate_ ((*) 2) 1i32
00:00:17 #1119 [Verbose] > |> _equal 1024
00:00:18 #1120 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5912-1233-12f11ecb3091\main.spi
00:00:18 #1121 [Verbose] >
00:00:18 #1122 [Verbose] > ╭─[ 179.13ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #1123 [Verbose] > │ let rec method1 (v0 : int32, v1 : int32) : int32 = │
00:00:18 #1124 [Verbose] > │ let v2 : bool = v1 <= 0 │
00:00:18 #1125 [Verbose] > │ if v2 then │
00:00:18 #1126 [Verbose] > │ v0 │
00:00:18 #1127 [Verbose] > │ else │
00:00:18 #1128 [Verbose] > │ let v3 : int32 = 2 * v0 │
00:00:18 #1129 [Verbose] > │ let v4 : int32 = v1 - 1 │
00:00:18 #1130 [Verbose] > │ method1(v3, v4) │
00:00:18 #1131 [Verbose] > │ and method0 () : unit = │
00:00:18 #1132 [Verbose] > │ let v0 : int32 = 1 │
00:00:18 #1133 [Verbose] > │ let v1 : int32 = 10 │
00:00:18 #1134 [Verbose] > │ let v2 : int32 = method1(v0, v1) │
00:00:18 #1135 [Verbose] > │ let v3 : bool = v2 = 1024 │
00:00:18 #1136 [Verbose] > │ let v4 : string = $"_equal / actual: %A{v2} / expected: %A{1024}" │
00:00:18 #1137 [Verbose] > │ let v5 : bool = v3 = false │
00:00:18 #1138 [Verbose] > │ if v5 then │
00:00:18 #1139 [Verbose] > │ failwith<unit> v4 │
00:00:18 #1140 [Verbose] > │ method0() │
00:00:18 #1141 [Verbose] > │ │
00:00:18 #1142 [Verbose] > │ │
00:00:18 #1143 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #1144 [Verbose] >
00:00:18 #1145 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #1146 [Verbose] > inl iterate' f x0 num_steps =
00:00:18 #1147 [Verbose] > listm.init num_steps id
00:00:18 #1148 [Verbose] > |> listm.fold (fun x _ => f x) x0
00:00:18 #1149 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5931-3116-3b26b247a880\main.spi
00:00:18 #1150 [Verbose] >
00:00:18 #1151 [Verbose] > ╭─[ 153.76ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #1152 [Verbose] > │ () │
00:00:18 #1153 [Verbose] > │ │
00:00:18 #1154 [Verbose] > │ │
00:00:18 #1155 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #1156 [Verbose] >
00:00:18 #1157 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #1158 [Verbose] > // // test
00:00:18 #1159 [Verbose] >
00:00:18 #1160 [Verbose] > 10i32 |> iterate' ((*) 2) 1i32
00:00:18 #1161 [Verbose] > |> _equal 1024
00:00:18 #1162 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0120-5946-4677-4641e40339c7\main.spi
00:00:18 #1163 [Verbose] >
00:00:18 #1164 [Verbose] > ╭─[ 180.13ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #1165 [Verbose] > │ let rec method0 () : unit = │
00:00:18 #1166 [Verbose] > │ let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}" │
00:00:18 #1167 [Verbose] > │ () │
00:00:18 #1168 [Verbose] > │ method0() │
00:00:18 #1169 [Verbose] > │ │
00:00:18 #1170 [Verbose] > │ │
00:00:18 #1171 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #1172 [Verbose] > [NbConvertApp] Converting notebook seq.dib.ipynb to html
00:00:20 #1173 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:20 #1174 [Verbose] > validate(nb)
00:00:20 #1175 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:20 #1176 [Verbose] > return _pygments_highlight(
00:00:21 #1177 [Verbose] > [NbConvertApp] Writing 350375 bytes to seq.dib.html
00:00:22 #1178 [Debug] executeAsync / exitCode: 0 / output.Length: 74239
00:00:22 #1179 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 util.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # util │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 #16 [Verbose] >
00:00:03 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:03 #18 [Verbose] > // // test
00:00:03 #19 [Verbose] >
00:00:03 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-1018-1886-180a239de872\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.54s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #31 [Verbose] > │ ## ski │
00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #35 [Verbose] > union rec ski =
00:00:09 #36 [Verbose] > | I
00:00:09 #37 [Verbose] > | K
00:00:09 #38 [Verbose] > | S
00:00:09 #39 [Verbose] > | App : ski * ski
00:00:09 #40 [Verbose] >
00:00:09 #41 [Verbose] > inl rec eval ski =
00:00:09 #42 [Verbose] > match ski with
00:00:09 #43 [Verbose] > | App (App (K, x), y) => eval x
00:00:09 #44 [Verbose] > | App (App (App (S, x), y), z) => eval (App (App (x, z), App (y, z)))
00:00:09 #45 [Verbose] > | App (I, x) => eval x
00:00:09 #46 [Verbose] > | App (K, x) => App (K, eval x)
00:00:09 #47 [Verbose] > | App (f, x) => eval (App (eval f, x))
00:00:09 #48 [Verbose] > | _ => ski
00:00:09 #49 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-1339-3913-38086b0b71a1\main.spi
00:00:09 #50 [Verbose] >
00:00:09 #51 [Verbose] > ╭─[ 198.82ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #52 [Verbose] > │ () │
00:00:09 #53 [Verbose] > │ │
00:00:09 #54 [Verbose] > │ │
00:00:09 #55 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #56 [Verbose] >
00:00:09 #57 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #58 [Verbose] > // // test
00:00:09 #59 [Verbose] >
00:00:09 #60 [Verbose] > eval I
00:00:09 #61 [Verbose] > |> _equal I
00:00:09 #62 [Verbose] >
00:00:09 #63 [Verbose] > eval (App (I, I))
00:00:09 #64 [Verbose] > |> _equal I
00:00:09 #65 [Verbose] >
00:00:09 #66 [Verbose] > eval (App (I, App (I, I)))
00:00:09 #67 [Verbose] > |> _equal I
00:00:09 #68 [Verbose] >
00:00:09 #69 [Verbose] > eval (App (App (I, I), I))
00:00:09 #70 [Verbose] > |> _equal I
00:00:09 #71 [Verbose] >
00:00:09 #72 [Verbose] > eval (App (App (App (I, I), I), I))
00:00:09 #73 [Verbose] > |> _equal I
00:00:09 #74 [Verbose] >
00:00:09 #75 [Verbose] > eval K
00:00:09 #76 [Verbose] > |> _equal K
00:00:09 #77 [Verbose] >
00:00:09 #78 [Verbose] > eval (App (K, I))
00:00:09 #79 [Verbose] > |> _equal (App (K, I))
00:00:09 #80 [Verbose] >
00:00:09 #81 [Verbose] > eval (App (K, K))
00:00:09 #82 [Verbose] > |> _equal (App (K, K))
00:00:09 #83 [Verbose] >
00:00:09 #84 [Verbose] > eval (App (App (K, I), K))
00:00:09 #85 [Verbose] > |> _equal I
00:00:09 #86 [Verbose] >
00:00:09 #87 [Verbose] > eval (App (App (K, K), I))
00:00:09 #88 [Verbose] > |> _equal K
00:00:09 #89 [Verbose] >
00:00:09 #90 [Verbose] > eval (App (App (App (App (K, K), I), S), K))
00:00:09 #91 [Verbose] > |> _equal S
00:00:09 #92 [Verbose] >
00:00:09 #93 [Verbose] > eval S
00:00:09 #94 [Verbose] > |> _equal S
00:00:09 #95 [Verbose] >
00:00:09 #96 [Verbose] > eval (App (App (App (S, I), I), I))
00:00:09 #97 [Verbose] > |> _equal I
00:00:09 #98 [Verbose] >
00:00:09 #99 [Verbose] > eval (App (App (App (S, K), K), I))
00:00:09 #100 [Verbose] > |> _equal I
00:00:09 #101 [Verbose] >
00:00:09 #102 [Verbose] > eval (App (App (App (S, K), I), (App (App (K, I), S))))
00:00:09 #103 [Verbose] > |> _equal I
00:00:09 #104 [Verbose] >
00:00:09 #105 [Verbose] > eval (App (App (K, S), App (I, App (App (App (S, K), S), I))))
00:00:09 #106 [Verbose] > |> _equal S
00:00:09 #107 [Verbose] >
00:00:09 #108 [Verbose] > eval (App (App (App (S, K), I), K))
00:00:09 #109 [Verbose] > |> _equal K
00:00:09 #110 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-1358-5886-538944404c4b\main.spi
00:00:11 #111 [Verbose] >
00:00:11 #112 [Verbose] > ╭─[ 1.44s - stdout ]───────────────────────────────────────────────────────────╮
00:00:11 #113 [Verbose] > │ type UH0 = │
00:00:11 #114 [Verbose] > │ | UH0_0 of UH0 * UH0 │
00:00:11 #115 [Verbose] > │ | UH0_1 │
00:00:11 #116 [Verbose] > │ | UH0_2 │
00:00:11 #117 [Verbose] > │ | UH0_3 │
00:00:11 #118 [Verbose] > │ let rec method0 () : unit = │
00:00:11 #119 [Verbose] > │ let v3 : UH0 = UH0_1 │
00:00:11 #120 [Verbose] > │ let v4 : UH0 = UH0_1 │
00:00:11 #121 [Verbose] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
00:00:11 #122 [Verbose] > │ let v9 : UH0 = UH0_1 │
00:00:11 #123 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:11 #124 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}" │
00:00:11 #125 [Verbose] > │ let v15 : UH0 = UH0_1 │
00:00:11 #126 [Verbose] > │ let v16 : UH0 = UH0_1 │
00:00:11 #127 [Verbose] > │ let v17 : string = $"_equal / actual: %A{v15} / expected: %A{v16}" │
00:00:11 #128 [Verbose] > │ let v21 : UH0 = UH0_1 │
00:00:11 #129 [Verbose] > │ let v22 : UH0 = UH0_1 │
00:00:11 #130 [Verbose] > │ let v23 : string = $"_equal / actual: %A{v21} / expected: %A{v22}" │
00:00:11 #131 [Verbose] > │ let v27 : UH0 = UH0_1 │
00:00:11 #132 [Verbose] > │ let v28 : UH0 = UH0_1 │
00:00:11 #133 [Verbose] > │ let v29 : string = $"_equal / actual: %A{v27} / expected: %A{v28}" │
00:00:11 #134 [Verbose] > │ let v33 : UH0 = UH0_2 │
00:00:11 #135 [Verbose] > │ let v34 : UH0 = UH0_2 │
00:00:11 #136 [Verbose] > │ let v35 : string = $"_equal / actual: %A{v33} / expected: %A{v34}" │
00:00:11 #137 [Verbose] > │ let v47 : UH0 = UH0_2 │
00:00:11 #138 [Verbose] > │ let v48 : UH0 = UH0_1 │
00:00:11 #139 [Verbose] > │ let v49 : UH0 = UH0_0(v47, v48) │
00:00:11 #140 [Verbose] > │ let v50 : UH0 = UH0_2 │
00:00:11 #141 [Verbose] > │ let v51 : UH0 = UH0_1 │
00:00:11 #142 [Verbose] > │ let v52 : UH0 = UH0_0(v50, v51) │
00:00:11 #143 [Verbose] > │ let v53 : string = $"_equal / actual: %A{v49} / expected: %A{v52}" │
00:00:11 #144 [Verbose] > │ let v65 : UH0 = UH0_2 │
00:00:11 #145 [Verbose] > │ let v66 : UH0 = UH0_2 │
00:00:11 #146 [Verbose] > │ let v67 : UH0 = UH0_0(v65, v66) │
00:00:11 #147 [Verbose] > │ let v68 : UH0 = UH0_2 │
00:00:11 #148 [Verbose] > │ let v69 : UH0 = UH0_2 │
00:00:11 #149 [Verbose] > │ let v70 : UH0 = UH0_0(v68, v69) │
00:00:11 #150 [Verbose] > │ let v71 : string = $"_equal / actual: %A{v67} / expected: %A{v70}" │
00:00:11 #151 [Verbose] > │ let v75 : UH0 = UH0_1 │
00:00:11 #152 [Verbose] > │ let v76 : UH0 = UH0_1 │
00:00:11 #153 [Verbose] > │ let v77 : string = $"_equal / actual: %A{v75} / expected: %A{v76}" │
00:00:11 #154 [Verbose] > │ let v81 : UH0 = UH0_2 │
00:00:11 #155 [Verbose] > │ let v82 : UH0 = UH0_2 │
00:00:11 #156 [Verbose] > │ let v83 : string = $"_equal / actual: %A{v81} / expected: %A{v82}" │
00:00:11 #157 [Verbose] > │ let v87 : UH0 = UH0_3 │
00:00:11 #158 [Verbose] > │ let v88 : UH0 = UH0_3 │
00:00:11 #159 [Verbose] > │ let v89 : string = $"_equal / actual: %A{v87} / expected: %A{v88}" │
00:00:11 #160 [Verbose] > │ let v93 : UH0 = UH0_3 │
00:00:11 #161 [Verbose] > │ let v94 : UH0 = UH0_3 │
00:00:11 #162 [Verbose] > │ let v95 : string = $"_equal / actual: %A{v93} / expected: %A{v94}" │
00:00:11 #163 [Verbose] > │ let v99 : UH0 = UH0_1 │
00:00:11 #164 [Verbose] > │ let v100 : UH0 = UH0_1 │
00:00:11 #165 [Verbose] > │ let v101 : string = $"_equal / actual: %A{v99} / expected: %A{v100}" │
00:00:11 #166 [Verbose] > │ let v105 : UH0 = UH0_1 │
00:00:11 #167 [Verbose] > │ let v106 : UH0 = UH0_1 │
00:00:11 #168 [Verbose] > │ let v107 : string = $"_equal / actual: %A{v105} / expected: %A{v106}" │
00:00:11 #169 [Verbose] > │ let v111 : UH0 = UH0_1 │
00:00:11 #170 [Verbose] > │ let v112 : UH0 = UH0_1 │
00:00:11 #171 [Verbose] > │ let v113 : string = $"_equal / actual: %A{v111} / expected: %A{v112}" │
00:00:11 #172 [Verbose] > │ let v117 : UH0 = UH0_3 │
00:00:11 #173 [Verbose] > │ let v118 : UH0 = UH0_3 │
00:00:11 #174 [Verbose] > │ let v119 : string = $"_equal / actual: %A{v117} / expected: %A{v118}" │
00:00:11 #175 [Verbose] > │ let v123 : UH0 = UH0_2 │
00:00:11 #176 [Verbose] > │ let v124 : UH0 = UH0_2 │
00:00:11 #177 [Verbose] > │ let v125 : string = $"_equal / actual: %A{v123} / expected: %A{v124}" │
00:00:11 #178 [Verbose] > │ () │
00:00:11 #179 [Verbose] > │ method0() │
00:00:11 #180 [Verbose] > │ │
00:00:11 #181 [Verbose] > │ │
00:00:11 #182 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #183 [Verbose] > [NbConvertApp] Converting notebook util.dib.ipynb to html
00:00:13 #184 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:13 #185 [Verbose] > validate(nb)
00:00:13 #186 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:13 #187 [Verbose] > return _pygments_highlight(
00:00:13 #188 [Verbose] > [NbConvertApp] Writing 285538 bytes to util.dib.html
00:00:14 #189 [Debug] executeAsync / exitCode: 0 / output.Length: 9299
00:00:14 #190 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 rust.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # rust │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-2544-4430-4df57cf85d78\main.spi
00:00:09 #22 [Verbose] >
00:00:09 #23 [Verbose] > ╭─[ 5.51s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #24 [Verbose] > │ () │
00:00:09 #25 [Verbose] > │ │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #28 [Verbose] >
00:00:09 #29 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #31 [Verbose] > │ ## emit_expr │
00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #35 [Verbose] > inl emit_expr forall a t. (args : a) (code : string) : t =
00:00:09 #36 [Verbose] > real
00:00:09 #37 [Verbose] > $"Fable.Core.RustInterop.emitRustExpr !args !code" : t
00:00:09 #38 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-2857-5701-50599b744a55\main.spi
00:00:09 #39 [Verbose] >
00:00:09 #40 [Verbose] > ╭─[ 204.96ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #41 [Verbose] > │ () │
00:00:09 #42 [Verbose] > │ │
00:00:09 #43 [Verbose] > │ │
00:00:09 #44 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 #45 [Verbose] > [NbConvertApp] Converting notebook rust.dib.ipynb to html
00:00:11 #46 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:11 #47 [Verbose] > validate(nb)
00:00:12 #48 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:12 #49 [Verbose] > return _pygments_highlight(
00:00:12 #50 [Verbose] > [NbConvertApp] Writing 272561 bytes to rust.dib.html
00:00:12 #51 [Debug] executeAsync / exitCode: 0 / output.Length: 2519
00:00:13 #52 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 physics.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ # physics │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > #!import ../../lib/fsharp/Plotting.dib
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 #21 [Verbose] > #r
00:00:04 #22 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
00:00:04 #23 [Verbose] > spNetCore.Html.Abstractions.dll"
00:00:04 #24 [Verbose] > #r
00:00:04 #25 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #26 [Verbose] > otNet.Interactive.dll"
00:00:04 #27 [Verbose] > #r
00:00:04 #28 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #29 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:04 #30 [Verbose] > #r
00:00:04 #31 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #32 [Verbose] > otNet.Interactive.Formatting.dll"
00:00:04 #33 [Verbose] > open System
00:00:04 #34 [Verbose] > open System.IO
00:00:04 #35 [Verbose] > open System.Text
00:00:04 #36 [Verbose] > open Microsoft.DotNet.Interactive.Formatting
00:00:07 #37 [Verbose] >
00:00:07 #38 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 #39 [Verbose] > #r
00:00:07 #40 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:07 #41 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:07 #42 [Verbose] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:07 #43 [Verbose] > #r
00:00:07 #44 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:07 #45 [Verbose] > otNet.Interactive.dll"
00:00:07 #46 [Verbose] > open type Microsoft.DotNet.Interactive.Kernel
00:00:07 #47 [Verbose] >
00:00:07 #48 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 #49 [Verbose] > //// test
00:00:07 #50 [Verbose] >
00:00:07 #51 [Verbose] > Formatter.ListExpansionLimit <- 100
00:00:08 #52 [Verbose] >
00:00:08 #53 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #54 [Verbose] > #r
00:00:08 #55 [Verbose] > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:00:08 #56 [Verbose] > dard2.1/FSharp.Control.AsyncSeq.dll"
00:00:08 #57 [Verbose] > #r
00:00:08 #58 [Verbose] > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:00:08 #59 [Verbose] > 0/System.Reactive.dll"
00:00:08 #60 [Verbose] > #r
00:00:08 #61 [Verbose] > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:00:08 #62 [Verbose] > netstandard2.0/System.Reactive.Linq.dll"
00:00:08 #63 [Verbose] > #r
00:00:08 #64 [Verbose] > @"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
00:00:08 #65 [Verbose] > #r
00:00:08 #66 [Verbose] > @"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
00:00:08 #67 [Verbose] > b/net6.0/System.CommandLine.dll"
00:00:08 #68 [Verbose] > #r
00:00:08 #69 [Verbose] > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
00:00:08 #70 [Verbose] > rp.Json.dll"
00:00:08 #71 [Verbose] >
00:00:08 #72 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #73 [Verbose] > #if !INTERACTIVE
00:00:08 #74 [Verbose] > namespace Polyglot
00:00:08 #75 [Verbose] > #endif
00:00:08 #76 [Verbose] >
00:00:08 #77 [Verbose] > module Common =
00:00:08 #78 [Verbose] >
00:00:08 #79 [Verbose] > let nl = System.Environment.NewLine
00:00:08 #80 [Verbose] > let q = @""""
00:00:08 #81 [Verbose] >
00:00:08 #82 [Verbose] > let inline cons head tail = head :: tail
00:00:08 #83 [Verbose] >
00:00:08 #84 [Verbose] > module String =
00:00:08 #85 [Verbose] > let inline contains (value : string) (input : string) =
00:00:08 #86 [Verbose] > input.Contains value
00:00:08 #87 [Verbose] >
00:00:08 #88 [Verbose] > let inline endsWith (value : string) (input : string) =
00:00:08 #89 [Verbose] > input.EndsWith value
00:00:08 #90 [Verbose] >
00:00:08 #91 [Verbose] > let inline padLeft totalWidth paddingChar (input : string) =
00:00:08 #92 [Verbose] > input.PadLeft (totalWidth, paddingChar)
00:00:08 #93 [Verbose] >
00:00:08 #94 [Verbose] > let inline replace (oldValue : string) (newValue : string) (input :
00:00:08 #95 [Verbose] > string) =
00:00:08 #96 [Verbose] > input.Replace (oldValue, newValue)
00:00:08 #97 [Verbose] >
00:00:08 #98 [Verbose] > let inline split separator (input : string) =
00:00:08 #99 [Verbose] > input.Split separator
00:00:08 #100 [Verbose] >
00:00:08 #101 [Verbose] > let inline spli...
00:00:10 #102 [Verbose] >
00:00:10 #103 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #104 [Verbose] > #if !INTERACTIVE
00:00:10 #105 [Verbose] > namespace Polyglot
00:00:10 #106 [Verbose] > #endif
00:00:10 #107 [Verbose] >
00:00:10 #108 [Verbose] > module CommonFSharp =
00:00:10 #109 [Verbose] >
00:00:10 #110 [Verbose] > open Common
00:00:10 #111 [Verbose] >
00:00:10 #112 [Verbose] > /// ## getUnionCaseName
00:00:10 #113 [Verbose] >
00:00:10 #114 [Verbose] > let inline getUnionCaseName<'T> (x: 'T) =
00:00:10 #115 [Verbose] > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:00:10 #116 [Verbose] > | case, _ -> case.Name
00:00:10 #117 [Verbose] >
00:00:10 #118 [Verbose] >
00:00:10 #119 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #120 [Verbose] > #if !INTERACTIVE
00:00:10 #121 [Verbose] > namespace Polyglot
00:00:10 #122 [Verbose] > #endif
00:00:10 #123 [Verbose] >
00:00:10 #124 [Verbose] > module Crypto =
00:00:10 #125 [Verbose] >
00:00:10 #126 [Verbose] > open Common
00:00:10 #127 [Verbose] >
00:00:10 #128 [Verbose] > /// ## hashText
00:00:10 #129 [Verbose] >
00:00:10 #130 [Verbose] > let hashText (input : string) =
00:00:10 #131 [Verbose] > use sha256 = System.Security.Cryptography.SHA256.Create ()
00:00:10 #132 [Verbose] > input
00:00:10 #133 [Verbose] > |> System.Text.Encoding.UTF8.GetBytes
00:00:10 #134 [Verbose] > |> sha256.ComputeHash
00:00:10 #135 [Verbose] > |> Array.map (fun b -> b.ToString "x2")
00:00:10 #136 [Verbose] > |> String.concat ""
00:00:10 #137 [Verbose] >
00:00:10 #138 [Verbose] >
00:00:10 #139 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #140 [Verbose] > #if !INTERACTIVE
00:00:10 #141 [Verbose] > namespace Polyglot
00:00:10 #142 [Verbose] > #endif
00:00:10 #143 [Verbose] >
00:00:10 #144 [Verbose] > module Async =
00:00:10 #145 [Verbose] >
00:00:10 #146 [Verbose] > open Common
00:00:10 #147 [Verbose] >
00:00:10 #148 [Verbose] > /// ## choice
00:00:10 #149 [Verbose] >
00:00:10 #150 [Verbose] > let inline choice asyncs = async {
00:00:10 #151 [Verbose] > let e = Event<_> ()
00:00:10 #152 [Verbose] > use cts = new System.Threading.CancellationTokenSource ()
00:00:10 #153 [Verbose] > let fn =
00:00:10 #154 [Verbose] > asyncs
00:00:10 #155 [Verbose] > |> Seq.map (fun a -> async {
00:00:10 #156 [Verbose] > let! x = a
00:00:10 #157 [Verbose] > e.Trigger x
00:00:10 #158 [Verbose] > })
00:00:10 #159 [Verbose] > |> Async.Parallel
00:00:10 #160 [Verbose] > |> Async.Ignore
00:00:10 #161 [Verbose] > Async.Start (fn, cts.Token)
00:00:10 #162 [Verbose] > let! result = Async.AwaitEvent e.Publish
00:00:10 #163 [Verbose] > cts.Cancel ()
00:00:10 #164 [Verbose] > return result
00:00:10 #165 [Verbose] > }
00:00:10 #166 [Verbose] >
00:00:10 #167 [Verbose] > /// ## map
00:00:10 #168 [Verbose] >
00:00:10 #169 [Verbose] > let inline map fn a = async {
00:00:10 #170 [Verbose] > let! x = a
00:00:10 #171 [Verbose] > return fn x
00:00:10 #172 [Verbose] > }
00:00:10 #173 [Verbose] >
00:00:10 #174 [Verbose] > /// ## catch
00:00:10 #175 [Verbose] >
00:00:10 #176 [Verbose] > let inline catch a =
00:00:10 #177 [Verbose] > a
00:00:10 #178 [Verbose] > |> Async.Catch
00:00:10 #179 [Verbose] > ...
00:00:10 #180 [Verbose] >
00:00:10 #181 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #182 [Verbose] > #if !INTERACTIVE
00:00:10 #183 [Verbose] > namespace Polyglot
00:00:10 #184 [Verbose] > #endif
00:00:10 #185 [Verbose] >
00:00:10 #186 [Verbose] > module AsyncSeq =
00:00:10 #187 [Verbose] >
00:00:10 #188 [Verbose] > open Common
00:00:10 #189 [Verbose] >
00:00:10 #190 [Verbose] > /// ## subscribeEvent
00:00:10 #191 [Verbose] >
00:00:10 #192 [Verbose] > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:00:10 #193 [Verbose] > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:00:10 #194 [Verbose] > 'A>(event.AddHandler, event.RemoveHandler)
00:00:10 #195 [Verbose] > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:00:10 #196 [Verbose] > event.EventArgs)
00:00:10 #197 [Verbose] > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:00:10 #198 [Verbose] >
00:00:10 #199 [Verbose] > let subscribeToken (token : System.Threading.CancellationToken) =
00:00:10 #200 [Verbose] > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:00:10 #201 [Verbose] > System.Action tcs.SetResult |> token.Register |> ignore
00:00:10 #202 [Verbose] > let start = System.DateTime.Now.Ticks
00:00:10 #203 [Verbose] > FSharp.Control.AsyncSeq.unfoldAsync
00:00:10 #204 [Verbose] > (fun (...
00:00:10 #205 [Verbose] >
00:00:10 #206 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #207 [Verbose] > #if !INTERACTIVE
00:00:10 #208 [Verbose] > namespace Polyglot
00:00:10 #209 [Verbose] > #endif
00:00:10 #210 [Verbose] >
00:00:10 #211 [Verbose] > module Networking =
00:00:10 #212 [Verbose] >
00:00:10 #213 [Verbose] > open Common
00:00:10 #214 [Verbose] >
00:00:10 #215 [Verbose] > /// ## testPortOpen
00:00:10 #216 [Verbose] >
00:00:10 #217 [Verbose] > let inline testPortOpen port = async {
00:00:10 #218 [Verbose] > let! ct = Async.CancellationToken
00:00:10 #219 [Verbose] > use client = new System.Net.Sockets.TcpClient ()
00:00:10 #220 [Verbose] > try
00:00:10 #221 [Verbose] > do! client.ConnectAsync ("127.0.0.1", port, ct) |>
00:00:10 #222 [Verbose] > Async.awaitValueTaskUnit
00:00:10 #223 [Verbose] > return true
00:00:10 #224 [Verbose] > with ex ->
00:00:10 #225 [Verbose] > trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
00:00:10 #226 [Verbose] > printException}") getLocals
00:00:10 #227 [Verbose] > return false
00:00:10 #228 [Verbose] > }
00:00:10 #229 [Verbose] >
00:00:10 #230 [Verbose] > let inline testPortOpenTimeout timeout port = async {
00:00:10 #231 [Verbose] > let! result =
00:00:10 #232 [Verbose] > testPortOpen port
00:00:10 #233 [Verbose] > |> Async.runWithTimeoutAsync timeout
00:00:10 #234 [Verbose] > return
00:00:10 #235 [Verbose] > match result with
00:00:10 #236 [Verbose] > | None -> false
00:00:10 #237 [Verbose] > ...
00:00:11 #238 [Verbose] >
00:00:11 #239 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #240 [Verbose] > #if !INTERACTIVE
00:00:11 #241 [Verbose] > namespace Polyglot
00:00:11 #242 [Verbose] > #endif
00:00:11 #243 [Verbose] >
00:00:11 #244 [Verbose] > module Runtime =
00:00:11 #245 [Verbose] >
00:00:11 #246 [Verbose] > open Common
00:00:11 #247 [Verbose] >
00:00:11 #248 [Verbose] > /// ## isWindows
00:00:11 #249 [Verbose] >
00:00:11 #250 [Verbose] > let isWindows =
00:00:11 #251 [Verbose] > fun () ->
00:00:11 #252 [Verbose] > System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
00:00:11 #253 [Verbose] > System.Runtime.InteropServices.OSPlatform.Windows
00:00:11 #254 [Verbose] > |> memoize
00:00:11 #255 [Verbose] >
00:00:11 #256 [Verbose] > /// ## getExecutableSuffix
00:00:11 #257 [Verbose] >
00:00:11 #258 [Verbose] > let inline getExecutableSuffix () =
00:00:11 #259 [Verbose] > if isWindows ()
00:00:11 #260 [Verbose] > then ".exe"
00:00:11 #261 [Verbose] > else ""
00:00:11 #262 [Verbose] >
00:00:11 #263 [Verbose] > /// ## splitCommand
00:00:11 #264 [Verbose] >
00:00:11 #265 [Verbose] > type private CommandParseStep =
00:00:11 #266 [Verbose] > | Start
00:00:11 #267 [Verbose] > | Path of quoted: bool
00:00:11 #268 [Verbose] > | Arguments
00:00:11 #269 [Verbose] >
00:00:11 #270 [Verbose] > let splitCommand (command: string) =
00:00:11 #271 [Verbose] > let rec loop (path, args) chars step =
00:00:11 #272 [Verbose] > match chars, step with
00:00:11 #273 [Verbose] > | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
00:00:12 #274 [Verbose] >
00:00:12 #275 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 #276 [Verbose] > #if !INTERACTIVE
00:00:12 #277 [Verbose] > namespace Polyglot
00:00:12 #278 [Verbose] > #endif
00:00:12 #279 [Verbose] >
00:00:12 #280 [Verbose] > module FileSystem =
00:00:12 #281 [Verbose] >
00:00:12 #282 [Verbose] > open Common
00:00:12 #283 [Verbose] >
00:00:12 #284 [Verbose] > /// ## Operators
00:00:12 #285 [Verbose] >
00:00:12 #286 [Verbose] > module Operators =
00:00:12 #287 [Verbose] > let inline (</>) a b =
00:00:12 #288 [Verbose] > System.IO.Path.Combine (a, b)
00:00:12 #289 [Verbose] >
00:00:12 #290 [Verbose] > open Operators
00:00:12 #291 [Verbose] >
00:00:12 #292 [Verbose] > /// ## createTempDirectoryName
00:00:12 #293 [Verbose] >
00:00:12 #294 [Verbose] > let inline createTempDirectoryName () =
00:00:12 #295 [Verbose] > let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:00:12 #296 [Verbose] >
00:00:12 #297 [Verbose] > System.IO.Path.GetTempPath ()
00:00:12 #298 [Verbose] > </> $"!{root}"
00:00:12 #299 [Verbose] > </> string (newGuidFromDateTime System.DateTime.Now)
00:00:12 #300 [Verbose] >
00:00:12 #301 [Verbose] > /// ## createTempDirectory
00:00:12 #302 [Verbose] >
00:00:12 #303 [Verbose] > let inline createTempDirectory () =
00:00:12 #304 [Verbose] > let tempFolder = createTempDirectoryName ()
00:00:12 #305 [Verbose] > let result = System.IO.Directory.CreateDirectory tempFolder
00:00:12 #306 [Verbose] >
00:00:12 #307 [Verbose] > if not result.Exists then
00:00:12 #308 [Verbose] > let ge...
00:00:15 #309 [Verbose] >
00:00:15 #310 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:15 #311 [Verbose] > open Common
00:00:15 #312 [Verbose] > open FileSystem.Operators
00:00:15 #313 [Verbose] >
00:00:15 #314 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:15 #315 [Verbose] > let tmpSpiralPath = Path.GetTempPath () </> "!dotnet-interactive-spiral"
00:00:15 #316 [Verbose] > let linePlotsDataPath = tmpSpiralPath </> "line-plots-data"
00:00:15 #317 [Verbose] > let linePlotsSvgPath = tmpSpiralPath </> "line-plots-svg"
00:00:15 #318 [Verbose] >
00:00:15 #319 [Verbose] > [[ tmpSpiralPath; linePlotsDataPath; linePlotsSvgPath ]]
00:00:15 #320 [Verbose] > |> List.iter (fun dir -> if Directory.Exists dir |> not then
00:00:15 #321 [Verbose] > Directory.CreateDirectory dir |> ignore)
00:00:15 #322 [Verbose] >
00:00:15 #323 [Verbose] > Formatter.Register<struct (string * string * string * struct (string * float
00:00:15 #324 [Verbose] > array * float array) array)> (
00:00:15 #325 [Verbose] > (fun struct (caption, x_desc, y_desc, ys) ->
00:00:15 #326 [Verbose] > let json = (caption, x_desc, y_desc, ys) |> FSharp.Json.Json.serialize
00:00:15 #327 [Verbose] > async {
00:00:15 #328 [Verbose] > let hashHex = json |> Crypto.hashText
00:00:15 #329 [Verbose] > let svgPath = linePlotsSvgPath </> $"{hashHex}.svg"
00:00:15 #330 [Verbose] >
00:00:15 #331 [Verbose] > if System.IO.File.Exi...
00:00:15 #332 [Verbose] >
00:00:15 #333 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #334 [Verbose] > // // test
00:00:15 #335 [Verbose] >
00:00:15 #336 [Verbose] > open testing
00:00:17 #337 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-4897-9747-947507a81c2d\main.spi
00:00:18 #338 [Verbose] >
00:00:18 #339 [Verbose] > ╭─[ 2.76s - stdout ]───────────────────────────────────────────────────────────╮
00:00:18 #340 [Verbose] > │ () │
00:00:18 #341 [Verbose] > │ │
00:00:18 #342 [Verbose] > │ │
00:00:18 #343 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #344 [Verbose] >
00:00:18 #345 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #346 [Verbose] > inl (/@) x = listm'.(/@) x
00:00:18 #347 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5112-1231-1e29cccc2b9a\main.spi
00:00:18 #348 [Verbose] >
00:00:18 #349 [Verbose] > ╭─[ 221.23ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #350 [Verbose] > │ () │
00:00:18 #351 [Verbose] > │ │
00:00:18 #352 [Verbose] > │ │
00:00:18 #353 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #354 [Verbose] >
00:00:18 #355 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:18 #356 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:18 #357 [Verbose] > │ ## init_series │
00:00:18 #358 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #359 [Verbose] >
00:00:18 #360 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #361 [Verbose] > // // test
00:00:18 #362 [Verbose] >
00:00:18 #363 [Verbose] > inl x : a _ f64 = am'.init_series -3 3 0.01
00:00:18 #364 [Verbose] > inl y = x |> am.map math.square
00:00:18 #365 [Verbose] > "square", "x", "y", ;[[ "square", x, y ]]
00:00:18 #366 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5134-3417-3f2def07f583\main.spi
00:00:19 #367 [Verbose] >
00:00:19 #368 [Verbose] > ╭─[ 456.66ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #369 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #370 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #371 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #372 [Verbose] > │ stroke="none"/> │
00:00:19 #373 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #374 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #375 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #376 [Verbose] > │ square │
00:00:19 #377 [Verbose] > │ </text> │
00:00:19 #378 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:19 #379 [Verbose] > │ y2="75"/> │
00:00:19 #380 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #381 [Verbose] > │ y2="75"/> │
00:00:19 #382 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:19 #383 [Verbose] > │ y2="75"/> │
00:00:19 #384 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:19 #385 [Verbose] > │ y2="75"/> │
00:00:19 #386 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:19 #387 [Verbose] > │ ... │
00:00:19 #388 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #389 [Verbose] >
00:00:19 #390 [Verbose] > ╭─[ 478.95ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #391 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #392 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #393 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #394 [Verbose] > │ let v2 : bool = v1 < 601 │
00:00:19 #395 [Verbose] > │ v2 │
00:00:19 #396 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #397 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #398 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #399 [Verbose] > │ v3 │
00:00:19 #400 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #401 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #402 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (601) │
00:00:19 #403 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #404 [Verbose] > │ while method1(v1) do │
00:00:19 #405 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #406 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #407 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:19 #408 [Verbose] > │ let v6 : float = -3.0 + v5 │
00:00:19 #409 [Verbose] > │ v0.[int v3] <- v6 │
00:00:19 #410 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:19 #411 [Verbose] > │ v1.l0 <- v7 │
00:00:19 #412 [Verbose] > │ () │
00:00:19 #413 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:19 #414 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #415 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #416 [Verbose] > │ while method2(v8, v10) do │
00:00:19 #417 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:19 #418 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:19 #419 [Verbose] > │ let v14 : float = v13 ** 2.0 │
00:00:19 #420 [Verbose] > │ v9.[int v12] <- v14 │
00:00:19 #421 [Verbose] > │ let v15 : int32 = v12 + 1 │
00:00:19 #422 [Verbose] > │ v10.l0 <- v15 │
00:00:19 #423 [Verbose] > │ () │
00:00:19 #424 [Verbose] > │ let v16 : string = "square" │
00:00:19 #425 [Verbose] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #426 [Verbose] > │ (v16, v0, v9)|] │
00:00:19 #427 [Verbose] > │ let v18 : string = "x" │
00:00:19 #428 [Verbose] > │ let v19 : string = "y" │
00:00:19 #429 [Verbose] > │ struct (v16, v18, v19, v17) │
00:00:19 #430 [Verbose] > │ method0() │
00:00:19 #431 [Verbose] > │ │
00:00:19 #432 [Verbose] > │ │
00:00:19 #433 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #434 [Verbose] >
00:00:19 #435 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #436 [Verbose] > // // test
00:00:19 #437 [Verbose] >
00:00:19 #438 [Verbose] > inl x : a _ f64 = am'.init_series -10 10 0.1
00:00:19 #439 [Verbose] > inl y_sin = x |> am.map sin
00:00:19 #440 [Verbose] > inl y_cos = x |> am.map cos
00:00:19 #441 [Verbose] > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]]
00:00:19 #442 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5184-8451-8904624346da\main.spi
00:00:19 #443 [Verbose] >
00:00:19 #444 [Verbose] > ╭─[ 240.83ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #445 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #446 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #447 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #448 [Verbose] > │ stroke="none"/> │
00:00:19 #449 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #450 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #451 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #452 [Verbose] > │ sin cos │
00:00:19 #453 [Verbose] > │ </text> │
00:00:19 #454 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:00:19 #455 [Verbose] > │ y2="75"/> │
00:00:19 #456 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #457 [Verbose] > │ y2="75"/> │
00:00:19 #458 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:00:19 #459 [Verbose] > │ y2="75"/> │
00:00:19 #460 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:19 #461 [Verbose] > │ y2="75"/> │
00:00:19 #462 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
00:00:19 #463 [Verbose] > │ x2="10... │
00:00:19 #464 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #465 [Verbose] >
00:00:19 #466 [Verbose] > ╭─[ 252.04ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #467 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #468 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #469 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #470 [Verbose] > │ let v2 : bool = v1 < 201 │
00:00:19 #471 [Verbose] > │ v2 │
00:00:19 #472 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #473 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #474 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #475 [Verbose] > │ v3 │
00:00:19 #476 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #477 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #478 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (201) │
00:00:19 #479 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #480 [Verbose] > │ while method1(v1) do │
00:00:19 #481 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #482 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #483 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:19 #484 [Verbose] > │ let v6 : float = -10.0 + v5 │
00:00:19 #485 [Verbose] > │ v0.[int v3] <- v6 │
00:00:19 #486 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:19 #487 [Verbose] > │ v1.l0 <- v7 │
00:00:19 #488 [Verbose] > │ () │
00:00:19 #489 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:19 #490 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #491 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #492 [Verbose] > │ while method2(v8, v10) do │
00:00:19 #493 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:19 #494 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:19 #495 [Verbose] > │ let v14 : float = sin v13 │
00:00:19 #496 [Verbose] > │ v9.[int v12] <- v14 │
00:00:19 #497 [Verbose] > │ let v15 : int32 = v12 + 1 │
00:00:19 #498 [Verbose] > │ v10.l0 <- v15 │
00:00:19 #499 [Verbose] > │ () │
00:00:19 #500 [Verbose] > │ let v16 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #501 [Verbose] > │ let v17 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #502 [Verbose] > │ while method2(v8, v17) do │
00:00:19 #503 [Verbose] > │ let v19 : int32 = v17.l0 │
00:00:19 #504 [Verbose] > │ let v20 : float = v0.[int v19] │
00:00:19 #505 [Verbose] > │ let v21 : float = cos v20 │
00:00:19 #506 [Verbose] > │ v16.[int v19] <- v21 │
00:00:19 #507 [Verbose] > │ let v22 : int32 = v19 + 1 │
00:00:19 #508 [Verbose] > │ v17.l0 <- v22 │
00:00:19 #509 [Verbose] > │ () │
00:00:19 #510 [Verbose] > │ let v23 : string = "sin" │
00:00:19 #511 [Verbose] > │ let v24 : string = "cos" │
00:00:19 #512 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #513 [Verbose] > │ (v23, v0, v9); struct (v24, v0, v16)|] │
00:00:19 #514 [Verbose] > │ let v26 : string = "sin cos" │
00:00:19 #515 [Verbose] > │ let v27 : string = "x" │
00:00:19 #516 [Verbose] > │ let v28 : string = "y" │
00:00:19 #517 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:19 #518 [Verbose] > │ method0() │
00:00:19 #519 [Verbose] > │ │
00:00:19 #520 [Verbose] > │ │
00:00:19 #521 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #522 [Verbose] >
00:00:19 #523 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #524 [Verbose] > // // test
00:00:19 #525 [Verbose] >
00:00:19 #526 [Verbose] > inl y_pos y0 vy0 ay t =
00:00:19 #527 [Verbose] > y0 + vy0 * t + ay * (t |> math.square) / 2
00:00:19 #528 [Verbose] >
00:00:19 #529 [Verbose] > inl x : a _ f64 = am'.init_series 0 5 0.01
00:00:19 #530 [Verbose] > inl y = x |> am.map (y_pos 0 20 -9.8)
00:00:19 #531 [Verbose] > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]]
00:00:19 #532 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5211-1188-149d5a840127\main.spi
00:00:19 #533 [Verbose] >
00:00:19 #534 [Verbose] > ╭─[ 221.78ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #535 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #536 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #537 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #538 [Verbose] > │ stroke="none"/> │
00:00:19 #539 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #540 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #541 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #542 [Verbose] > │ projectile motion │
00:00:19 #543 [Verbose] > │ </text> │
00:00:19 #544 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:19 #545 [Verbose] > │ y2="75"/> │
00:00:19 #546 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #547 [Verbose] > │ y2="75"/> │
00:00:19 #548 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:19 #549 [Verbose] > │ y2="75"/> │
00:00:19 #550 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:19 #551 [Verbose] > │ y2="75"/> │
00:00:19 #552 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="42... │
00:00:19 #553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #554 [Verbose] >
00:00:19 #555 [Verbose] > ╭─[ 231.97ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #556 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #557 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #558 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #559 [Verbose] > │ let v2 : bool = v1 < 501 │
00:00:19 #560 [Verbose] > │ v2 │
00:00:19 #561 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #562 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #563 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #564 [Verbose] > │ v3 │
00:00:19 #565 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #566 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #567 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
00:00:19 #568 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #569 [Verbose] > │ while method1(v1) do │
00:00:19 #570 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #571 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #572 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:19 #573 [Verbose] > │ v0.[int v3] <- v5 │
00:00:19 #574 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:19 #575 [Verbose] > │ v1.l0 <- v6 │
00:00:19 #576 [Verbose] > │ () │
00:00:19 #577 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:19 #578 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:19 #579 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #580 [Verbose] > │ while method2(v7, v9) do │
00:00:19 #581 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:19 #582 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:19 #583 [Verbose] > │ let v13 : float = 20.0 * v12 │
00:00:19 #584 [Verbose] > │ let v14 : float = v12 ** 2.0 │
00:00:19 #585 [Verbose] > │ let v15 : float = -9.8 * v14 │
00:00:19 #586 [Verbose] > │ let v16 : float = v15 / 2.0 │
00:00:19 #587 [Verbose] > │ let v17 : float = v13 + v16 │
00:00:19 #588 [Verbose] > │ v8.[int v11] <- v17 │
00:00:19 #589 [Verbose] > │ let v18 : int32 = v11 + 1 │
00:00:19 #590 [Verbose] > │ v9.l0 <- v18 │
00:00:19 #591 [Verbose] > │ () │
00:00:19 #592 [Verbose] > │ let v19 : string = "height of projectile (m)" │
00:00:19 #593 [Verbose] > │ let v20 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #594 [Verbose] > │ (v19, v0, v8)|] │
00:00:19 #595 [Verbose] > │ let v21 : string = "projectile motion" │
00:00:19 #596 [Verbose] > │ let v22 : string = "time (s)" │
00:00:19 #597 [Verbose] > │ let v23 : string = "" │
00:00:19 #598 [Verbose] > │ struct (v21, v22, v23, v20) │
00:00:19 #599 [Verbose] > │ method0() │
00:00:19 #600 [Verbose] > │ │
00:00:19 #601 [Verbose] > │ │
00:00:19 #602 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #603 [Verbose] >
00:00:19 #604 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:19 #605 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:19 #606 [Verbose] > │ ## velocity_cf │
00:00:19 #607 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #608 [Verbose] >
00:00:19 #609 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #610 [Verbose] > type mass = f64
00:00:19 #611 [Verbose] > type time = f64
00:00:19 #612 [Verbose] > type position = f64
00:00:19 #613 [Verbose] > type velocity = f64
00:00:19 #614 [Verbose] > type force = f64
00:00:19 #615 [Verbose] >
00:00:19 #616 [Verbose] > type velocity_cf = mass -> velocity -> list force -> (time -> velocity)
00:00:19 #617 [Verbose] >
00:00:19 #618 [Verbose] > inl velocity_cf m v0 fs =
00:00:19 #619 [Verbose] > inl f_net = fs |> listm'.sum
00:00:19 #620 [Verbose] > inl a0 = f_net / m
00:00:19 #621 [Verbose] > inl v t = v0 + a0 * t
00:00:19 #622 [Verbose] > v
00:00:19 #623 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5237-3754-30891daa1666\main.spi
00:00:19 #624 [Verbose] >
00:00:19 #625 [Verbose] > ╭─[ 171.77ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #626 [Verbose] > │ () │
00:00:19 #627 [Verbose] > │ │
00:00:19 #628 [Verbose] > │ │
00:00:19 #629 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #630 [Verbose] >
00:00:19 #631 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #632 [Verbose] > // // test
00:00:19 #633 [Verbose] >
00:00:19 #634 [Verbose] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0
00:00:19 #635 [Verbose] > |> _equal 0.6
00:00:19 #636 [Verbose] >
00:00:19 #637 [Verbose] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1
00:00:19 #638 [Verbose] > |> _equal 0.2
00:00:20 #639 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5255-5558-592825f59881\main.spi
00:00:20 #640 [Verbose] >
00:00:20 #641 [Verbose] > ╭─[ 204.42ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #642 [Verbose] > │ let rec method0 () : unit = │
00:00:20 #643 [Verbose] > │ let v0 : string = $"_equal / actual: %A{0.6} / expected: %A{0.6}" │
00:00:20 #644 [Verbose] > │ let v1 : string = $"_equal / actual: %A{0.2} / expected: %A{0.2}" │
00:00:20 #645 [Verbose] > │ () │
00:00:20 #646 [Verbose] > │ method0() │
00:00:20 #647 [Verbose] > │ │
00:00:20 #648 [Verbose] > │ │
00:00:20 #649 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #650 [Verbose] >
00:00:20 #651 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #652 [Verbose] > // // test
00:00:20 #653 [Verbose] >
00:00:20 #654 [Verbose] > inl x = am'.init_series 0 4 0.1
00:00:20 #655 [Verbose] > inl y = x |> am.map (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]])
00:00:20 #656 [Verbose] > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]]
00:00:20 #657 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5276-7624-74f71515dac5\main.spi
00:00:20 #658 [Verbose] >
00:00:20 #659 [Verbose] > ╭─[ 219.90ms - return value ]──────────────────────────────────────────────────╮
00:00:20 #660 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:20 #661 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:20 #662 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:20 #663 [Verbose] > │ stroke="none"/> │
00:00:20 #664 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:20 #665 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:20 #666 [Verbose] > │ fill="#FFFFFF"> │
00:00:20 #667 [Verbose] > │ car on an air track │
00:00:20 #668 [Verbose] > │ </text> │
00:00:20 #669 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:00:20 #670 [Verbose] > │ y2="75"/> │
00:00:20 #671 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:20 #672 [Verbose] > │ y2="75"/> │
00:00:20 #673 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:00:20 #674 [Verbose] > │ y2="75"/> │
00:00:20 #675 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:20 #676 [Verbose] > │ y2="75"/> │
00:00:20 #677 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1=... │
00:00:20 #678 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #679 [Verbose] >
00:00:20 #680 [Verbose] > ╭─[ 229.27ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #681 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:20 #682 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:20 #683 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:20 #684 [Verbose] > │ let v2 : bool = v1 < 41 │
00:00:20 #685 [Verbose] > │ v2 │
00:00:20 #686 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:20 #687 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:20 #688 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:20 #689 [Verbose] > │ v3 │
00:00:20 #690 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:20 #691 [Verbose] > │ []) * (float [])) [])) = │
00:00:20 #692 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (41) │
00:00:20 #693 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:20 #694 [Verbose] > │ while method1(v1) do │
00:00:20 #695 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:20 #696 [Verbose] > │ let v4 : float = float v3 │
00:00:20 #697 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:20 #698 [Verbose] > │ v0.[int v3] <- v5 │
00:00:20 #699 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:20 #700 [Verbose] > │ v1.l0 <- v6 │
00:00:20 #701 [Verbose] > │ () │
00:00:20 #702 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:20 #703 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:20 #704 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:20 #705 [Verbose] > │ while method2(v7, v9) do │
00:00:20 #706 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:20 #707 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:20 #708 [Verbose] > │ let v13 : float = -0.39999999999999997 * v12 │
00:00:20 #709 [Verbose] > │ let v14 : float = 0.6 + v13 │
00:00:20 #710 [Verbose] > │ v8.[int v11] <- v14 │
00:00:20 #711 [Verbose] > │ let v15 : int32 = v11 + 1 │
00:00:20 #712 [Verbose] > │ v9.l0 <- v15 │
00:00:20 #713 [Verbose] > │ () │
00:00:20 #714 [Verbose] > │ let v16 : string = "velocity of car (m/s)" │
00:00:20 #715 [Verbose] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:20 #716 [Verbose] > │ (v16, v0, v8)|] │
00:00:20 #717 [Verbose] > │ let v18 : string = "car on an air track" │
00:00:20 #718 [Verbose] > │ let v19 : string = "time (s)" │
00:00:20 #719 [Verbose] > │ let v20 : string = "" │
00:00:20 #720 [Verbose] > │ struct (v18, v19, v20, v17) │
00:00:20 #721 [Verbose] > │ method0() │
00:00:20 #722 [Verbose] > │ │
00:00:20 #723 [Verbose] > │ │
00:00:20 #724 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #725 [Verbose] >
00:00:20 #726 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #727 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #728 [Verbose] > │ ## derivative │
00:00:20 #729 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #730 [Verbose] >
00:00:20 #731 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #732 [Verbose] > type derivative = (f64 -> f64) -> f64 -> f64
00:00:20 #733 [Verbose] >
00:00:20 #734 [Verbose] > inl derivative dt : derivative =
00:00:20 #735 [Verbose] > fun x t =>
00:00:20 #736 [Verbose] > (x (t + dt / 2) - x (t - dt / 2)) / dt
00:00:20 #737 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5301-0109-0773713c27c0\main.spi
00:00:20 #738 [Verbose] >
00:00:20 #739 [Verbose] > ╭─[ 174.71ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #740 [Verbose] > │ () │
00:00:20 #741 [Verbose] > │ │
00:00:20 #742 [Verbose] > │ │
00:00:20 #743 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #744 [Verbose] >
00:00:20 #745 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #746 [Verbose] > // // test
00:00:20 #747 [Verbose] >
00:00:20 #748 [Verbose] > derivative 1 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #749 [Verbose] > |> _almost_equal 0.25
00:00:20 #750 [Verbose] >
00:00:20 #751 [Verbose] > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #752 [Verbose] > |> _almost_equal 0.0000002499998827953931
00:00:20 #753 [Verbose] >
00:00:20 #754 [Verbose] > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #755 [Verbose] > |> _almost_equal 0.000000000001000088900582341
00:00:20 #756 [Verbose] >
00:00:20 #757 [Verbose] > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #758 [Verbose] > |> _almost_equal 0.00000008274037099909037
00:00:20 #759 [Verbose] >
00:00:20 #760 [Verbose] > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #761 [Verbose] > |> _almost_equal 0.00008890058234101161
00:00:20 #762 [Verbose] >
00:00:20 #763 [Verbose] > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #764 [Verbose] > |> _almost_equal -0.0007992778373592246
00:00:20 #765 [Verbose] >
00:00:20 #766 [Verbose] > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #767 [Verbose] > |> _almost_equal -1
00:00:20 #768 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5318-1880-13665c6da3e2\main.spi
00:00:20 #769 [Verbose] >
00:00:20 #770 [Verbose] > ╭─[ 188.66ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #771 [Verbose] > │ let rec method0 () : unit = │
00:00:20 #772 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.25} / expected: │
00:00:20 #773 [Verbose] > │ %A{0.25}" │
00:00:20 #774 [Verbose] > │ let v1 : string = $"_almost_equal / actual: %A{2.499998827953931E-07} / │
00:00:20 #775 [Verbose] > │ expected: %A{2.499998827953931E-07}" │
00:00:20 #776 [Verbose] > │ let v2 : string = $"_almost_equal / actual: %A{1.000088900582341E-12} / │
00:00:20 #777 [Verbose] > │ expected: %A{1.000088900582341E-12}" │
00:00:20 #778 [Verbose] > │ let v3 : string = $"_almost_equal / actual: %A{8.274037099909037E-08} / │
00:00:20 #779 [Verbose] > │ expected: %A{8.274037099909037E-08}" │
00:00:20 #780 [Verbose] > │ let v4 : string = $"_almost_equal / actual: %A{8.890058234101161E-05} / │
00:00:20 #781 [Verbose] > │ expected: %A{8.890058234101161E-05}" │
00:00:20 #782 [Verbose] > │ let v5 : string = $"_almost_equal / actual: %A{-0.0007992778373592246} / │
00:00:20 #783 [Verbose] > │ expected: %A{-0.0007992778373592246}" │
00:00:20 #784 [Verbose] > │ let v6 : string = $"_almost_equal / actual: %A{-1.0} / expected: │
00:00:20 #785 [Verbose] > │ %A{-1.0}" │
00:00:20 #786 [Verbose] > │ () │
00:00:20 #787 [Verbose] > │ method0() │
00:00:20 #788 [Verbose] > │ │
00:00:20 #789 [Verbose] > │ │
00:00:20 #790 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #791 [Verbose] >
00:00:20 #792 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #793 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #794 [Verbose] > │ ## integration │
00:00:20 #795 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #796 [Verbose] >
00:00:20 #797 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #798 [Verbose] > type integration = (f64 -> f64) -> f64 -> f64 -> f64
00:00:20 #799 [Verbose] >
00:00:20 #800 [Verbose] > inl integral dt : integration =
00:00:20 #801 [Verbose] > fun f a b =>
00:00:20 #802 [Verbose] > inl rec loop t y =
00:00:20 #803 [Verbose] > if t < b
00:00:20 #804 [Verbose] > then loop (t + dt) (y + f t * dt)
00:00:20 #805 [Verbose] > else t, y
00:00:20 #806 [Verbose] > loop (a + dt / 2) 0
00:00:20 #807 [Verbose] > |> snd
00:00:20 #808 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5338-3874-31d55991a209\main.spi
00:00:20 #809 [Verbose] >
00:00:20 #810 [Verbose] > ╭─[ 199.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #811 [Verbose] > │ () │
00:00:20 #812 [Verbose] > │ │
00:00:20 #813 [Verbose] > │ │
00:00:20 #814 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #815 [Verbose] >
00:00:20 #816 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #817 [Verbose] > // // test
00:00:20 #818 [Verbose] >
00:00:20 #819 [Verbose] > integral 0.01 math.square 0 1
00:00:20 #820 [Verbose] > |> _almost_equal 0.33332500000000004
00:00:21 #821 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5359-5910-5ba0bc6ad4dc\main.spi
00:00:21 #822 [Verbose] >
00:00:21 #823 [Verbose] > ╭─[ 175.77ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #824 [Verbose] > │ let rec method0 () : unit = │
00:00:21 #825 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.3333250000000004} / │
00:00:21 #826 [Verbose] > │ expected: %A{0.33332500000000004}" │
00:00:21 #827 [Verbose] > │ () │
00:00:21 #828 [Verbose] > │ method0() │
00:00:21 #829 [Verbose] > │ │
00:00:21 #830 [Verbose] > │ │
00:00:21 #831 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #832 [Verbose] >
00:00:21 #833 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #834 [Verbose] > inl integral' dt : integration =
00:00:21 #835 [Verbose] > fun f a b =>
00:00:21 #836 [Verbose] > listm'.init_series (a + dt / 2) (b - dt / 2) dt
00:00:21 #837 [Verbose] > |> listm.map (f >> (*) dt)
00:00:21 #838 [Verbose] > |> listm'.sum
00:00:21 #839 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5376-7693-795c533243ab\main.spi
00:00:21 #840 [Verbose] >
00:00:21 #841 [Verbose] > ╭─[ 211.90ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #842 [Verbose] > │ () │
00:00:21 #843 [Verbose] > │ │
00:00:21 #844 [Verbose] > │ │
00:00:21 #845 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #846 [Verbose] >
00:00:21 #847 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #848 [Verbose] > // // test
00:00:21 #849 [Verbose] >
00:00:21 #850 [Verbose] > integral' 0.1 math.square 0 1
00:00:21 #851 [Verbose] > |> _almost_equal (integral 0.1 math.square 0 1)
00:00:21 #852 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5398-9836-9c0c70800b9b\main.spi
00:00:21 #853 [Verbose] >
00:00:21 #854 [Verbose] > ╭─[ 190.60ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #855 [Verbose] > │ let rec method0 () : unit = │
00:00:21 #856 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.3325000000000001} / │
00:00:21 #857 [Verbose] > │ expected: %A{0.33249999999999996}" │
00:00:21 #858 [Verbose] > │ () │
00:00:21 #859 [Verbose] > │ method0() │
00:00:21 #860 [Verbose] > │ │
00:00:21 #861 [Verbose] > │ │
00:00:21 #862 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #863 [Verbose] >
00:00:21 #864 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #865 [Verbose] > inl integral'' dt : integration =
00:00:21 #866 [Verbose] > fun f a b =>
00:00:21 #867 [Verbose] > am'.init_series (a + dt / 2) (b - dt / 2) dt
00:00:21 #868 [Verbose] > |> am.map (f >> (*) dt)
00:00:21 #869 [Verbose] > |> am'.sum
00:00:21 #870 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5417-1782-174e97496f70\main.spi
00:00:21 #871 [Verbose] >
00:00:21 #872 [Verbose] > ╭─[ 201.99ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #873 [Verbose] > │ () │
00:00:21 #874 [Verbose] > │ │
00:00:21 #875 [Verbose] > │ │
00:00:21 #876 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #877 [Verbose] >
00:00:21 #878 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #879 [Verbose] > // // test
00:00:21 #880 [Verbose] >
00:00:21 #881 [Verbose] > integral'' 0.01 math.square 0 1
00:00:21 #882 [Verbose] > |> _almost_equal (integral 0.01 math.square 0 1)
00:00:21 #883 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5438-3844-348bfe613ccc\main.spi
00:00:22 #884 [Verbose] >
00:00:22 #885 [Verbose] > ╭─[ 383.39ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #886 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:22 #887 [Verbose] > │ and Mut1 = {mutable l0 : int32; mutable l1 : float} │
00:00:22 #888 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:22 #889 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:22 #890 [Verbose] > │ let v2 : bool = v1 < 100 │
00:00:22 #891 [Verbose] > │ v2 │
00:00:22 #892 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:22 #893 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:22 #894 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #895 [Verbose] > │ v3 │
00:00:22 #896 [Verbose] > │ and method3 (v0 : int32, v1 : Mut1) : bool = │
00:00:22 #897 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:22 #898 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #899 [Verbose] > │ v3 │
00:00:22 #900 [Verbose] > │ and method0 () : unit = │
00:00:22 #901 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (100) │
00:00:22 #902 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:22 #903 [Verbose] > │ while method1(v1) do │
00:00:22 #904 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:22 #905 [Verbose] > │ let v4 : float = float v3 │
00:00:22 #906 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:22 #907 [Verbose] > │ let v6 : float = 0.005 + v5 │
00:00:22 #908 [Verbose] > │ v0.[int v3] <- v6 │
00:00:22 #909 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:22 #910 [Verbose] > │ v1.l0 <- v7 │
00:00:22 #911 [Verbose] > │ () │
00:00:22 #912 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:22 #913 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:22 #914 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:22 #915 [Verbose] > │ while method2(v8, v10) do │
00:00:22 #916 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:22 #917 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:22 #918 [Verbose] > │ let v14 : float = v13 ** 2.0 │
00:00:22 #919 [Verbose] > │ let v15 : float = 0.01 * v14 │
00:00:22 #920 [Verbose] > │ v9.[int v12] <- v15 │
00:00:22 #921 [Verbose] > │ let v16 : int32 = v12 + 1 │
00:00:22 #922 [Verbose] > │ v10.l0 <- v16 │
00:00:22 #923 [Verbose] > │ () │
00:00:22 #924 [Verbose] > │ let v17 : int32 = v9.Length │
00:00:22 #925 [Verbose] > │ let v18 : Mut1 = {l0 = 0; l1 = 0.0} : Mut1 │
00:00:22 #926 [Verbose] > │ while method3(v17, v18) do │
00:00:22 #927 [Verbose] > │ let v20 : int32 = v18.l0 │
00:00:22 #928 [Verbose] > │ let v21 : float = v18.l1 │
00:00:22 #929 [Verbose] > │ let v22 : float = v9.[int v20] │
00:00:22 #930 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:22 #931 [Verbose] > │ let v24 : int32 = v20 + 1 │
00:00:22 #932 [Verbose] > │ v18.l0 <- v24 │
00:00:22 #933 [Verbose] > │ v18.l1 <- v23 │
00:00:22 #934 [Verbose] > │ () │
00:00:22 #935 [Verbose] > │ let v25 : float = v18.l1 │
00:00:22 #936 [Verbose] > │ let v26 : float = 0.3333250000000004 - v25 │
00:00:22 #937 [Verbose] > │ let v27 : float = -v26 │
00:00:22 #938 [Verbose] > │ let v28 : bool = v26 >= v27 │
00:00:22 #939 [Verbose] > │ let v29 : float = │
00:00:22 #940 [Verbose] > │ if v28 then │
00:00:22 #941 [Verbose] > │ v26 │
00:00:22 #942 [Verbose] > │ else │
00:00:22 #943 [Verbose] > │ v27 │
00:00:22 #944 [Verbose] > │ let v30 : bool = v29 < 1E-08 │
00:00:22 #945 [Verbose] > │ let v31 : string = $"_almost_equal / actual: %A{v25} / expected: │
00:00:22 #946 [Verbose] > │ %A{0.3333250000000004}" │
00:00:22 #947 [Verbose] > │ let v32 : bool = v30 = false │
00:00:22 #948 [Verbose] > │ if v32 then │
00:00:22 #949 [Verbose] > │ failwith<unit> v31 │
00:00:22 #950 [Verbose] > │ method0() │
00:00:22 #951 [Verbose] > │ │
00:00:22 #952 [Verbose] > │ │
00:00:22 #953 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #954 [Verbose] >
00:00:22 #955 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #956 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #957 [Verbose] > │ ## anti_derivative │
00:00:22 #958 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #959 [Verbose] >
00:00:22 #960 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #961 [Verbose] > inl anti_derivative dt v0 a t =
00:00:22 #962 [Verbose] > v0 + integral' dt a 0 t
00:00:22 #963 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5480-8009-80b2480cc2cd\main.spi
00:00:22 #964 [Verbose] >
00:00:22 #965 [Verbose] > ╭─[ 257.98ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #966 [Verbose] > │ () │
00:00:22 #967 [Verbose] > │ │
00:00:22 #968 [Verbose] > │ │
00:00:22 #969 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #970 [Verbose] >
00:00:22 #971 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #972 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #973 [Verbose] > │ ## velocity_ft │
00:00:22 #974 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #975 [Verbose] >
00:00:22 #976 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #977 [Verbose] > type velocity_ft = mass -> velocity -> list (time -> force) -> (time ->
00:00:22 #978 [Verbose] > velocity)
00:00:22 #979 [Verbose] >
00:00:22 #980 [Verbose] > inl velocity_ft dt : velocity_ft =
00:00:22 #981 [Verbose] > fun m v0 fs =>
00:00:22 #982 [Verbose] > inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum
00:00:22 #983 [Verbose] > inl a t = f_net t / m
00:00:22 #984 [Verbose] > anti_derivative dt v0 a
00:00:22 #985 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5506-0672-01f40cc1f85e\main.spi
00:00:22 #986 [Verbose] >
00:00:22 #987 [Verbose] > ╭─[ 195.72ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #988 [Verbose] > │ () │
00:00:22 #989 [Verbose] > │ │
00:00:22 #990 [Verbose] > │ │
00:00:22 #991 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #992 [Verbose] >
00:00:22 #993 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #994 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #995 [Verbose] > │ ## position_ft │
00:00:22 #996 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #997 [Verbose] >
00:00:22 #998 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #999 [Verbose] > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time
00:00:22 #1000 [Verbose] > -> position)
00:00:22 #1001 [Verbose] >
00:00:22 #1002 [Verbose] > inl position_ft dt : position_ft =
00:00:22 #1003 [Verbose] > fun m x0 v0 fs =>
00:00:22 #1004 [Verbose] > velocity_ft dt m v0 fs
00:00:22 #1005 [Verbose] > |> anti_derivative dt x0
00:00:22 #1006 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5527-2701-2719c4d2bdbf\main.spi
00:00:22 #1007 [Verbose] >
00:00:22 #1008 [Verbose] > ╭─[ 183.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #1009 [Verbose] > │ () │
00:00:22 #1010 [Verbose] > │ │
00:00:22 #1011 [Verbose] > │ │
00:00:22 #1012 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #1013 [Verbose] >
00:00:22 #1014 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #1015 [Verbose] > // // test
00:00:22 #1016 [Verbose] >
00:00:22 #1017 [Verbose] > inl pedal_coast (t : time) : force =
00:00:22 #1018 [Verbose] > inl t_cycle = 20
00:00:22 #1019 [Verbose] > inl n_complete : i32 = t / t_cycle |> conv
00:00:22 #1020 [Verbose] > inl remainder = t - conv n_complete * t_cycle
00:00:22 #1021 [Verbose] > if remainder > 0 && remainder < 10
00:00:22 #1022 [Verbose] > then 10
00:00:22 #1023 [Verbose] > else 0
00:00:22 #1024 [Verbose] >
00:00:22 #1025 [Verbose] > inl x = am'.init_series -5 45 0.1
00:00:22 #1026 [Verbose] > inl y = x |> am.map pedal_coast
00:00:22 #1027 [Verbose] > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]]
00:00:22 #1028 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5545-4535-4d5eddfeec18\main.spi
00:00:23 #1029 [Verbose] >
00:00:23 #1030 [Verbose] > ╭─[ 220.82ms - return value ]──────────────────────────────────────────────────╮
00:00:23 #1031 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:23 #1032 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:23 #1033 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:23 #1034 [Verbose] > │ stroke="none"/> │
00:00:23 #1035 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:23 #1036 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:23 #1037 [Verbose] > │ fill="#FFFFFF"> │
00:00:23 #1038 [Verbose] > │ child pedaling then coasting │
00:00:23 #1039 [Verbose] > │ </text> │
00:00:23 #1040 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:23 #1041 [Verbose] > │ y2="75"/> │
00:00:23 #1042 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:23 #1043 [Verbose] > │ y2="75"/> │
00:00:23 #1044 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:23 #1045 [Verbose] > │ y2="75"/> │
00:00:23 #1046 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:23 #1047 [Verbose] > │ y2="75"/> │
00:00:23 #1048 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:23 #1049 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1050 [Verbose] >
00:00:23 #1051 [Verbose] > ╭─[ 231.05ms - stdout ]────────────────────────────────────────────────────────╮
00:00:23 #1052 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:23 #1053 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:23 #1054 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:23 #1055 [Verbose] > │ let v2 : bool = v1 < 501 │
00:00:23 #1056 [Verbose] > │ v2 │
00:00:23 #1057 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:23 #1058 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:23 #1059 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:23 #1060 [Verbose] > │ v3 │
00:00:23 #1061 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:23 #1062 [Verbose] > │ []) * (float [])) [])) = │
00:00:23 #1063 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
00:00:23 #1064 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1065 [Verbose] > │ while method1(v1) do │
00:00:23 #1066 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:23 #1067 [Verbose] > │ let v4 : float = float v3 │
00:00:23 #1068 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:23 #1069 [Verbose] > │ let v6 : float = -5.0 + v5 │
00:00:23 #1070 [Verbose] > │ v0.[int v3] <- v6 │
00:00:23 #1071 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:23 #1072 [Verbose] > │ v1.l0 <- v7 │
00:00:23 #1073 [Verbose] > │ () │
00:00:23 #1074 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:23 #1075 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:23 #1076 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1077 [Verbose] > │ while method2(v8, v10) do │
00:00:23 #1078 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:23 #1079 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:23 #1080 [Verbose] > │ let v14 : float = v13 / 20.0 │
00:00:23 #1081 [Verbose] > │ let v15 : int32 = int32 v14 │
00:00:23 #1082 [Verbose] > │ let v16 : float = float v15 │
00:00:23 #1083 [Verbose] > │ let v17 : float = v16 * 20.0 │
00:00:23 #1084 [Verbose] > │ let v18 : float = v13 - v17 │
00:00:23 #1085 [Verbose] > │ let v19 : bool = v18 > 0.0 │
00:00:23 #1086 [Verbose] > │ let v21 : bool = │
00:00:23 #1087 [Verbose] > │ if v19 then │
00:00:23 #1088 [Verbose] > │ let v20 : bool = v18 < 10.0 │
00:00:23 #1089 [Verbose] > │ v20 │
00:00:23 #1090 [Verbose] > │ else │
00:00:23 #1091 [Verbose] > │ false │
00:00:23 #1092 [Verbose] > │ let v22 : float = │
00:00:23 #1093 [Verbose] > │ if v21 then │
00:00:23 #1094 [Verbose] > │ 10.0 │
00:00:23 #1095 [Verbose] > │ else │
00:00:23 #1096 [Verbose] > │ 0.0 │
00:00:23 #1097 [Verbose] > │ v9.[int v12] <- v22 │
00:00:23 #1098 [Verbose] > │ let v23 : int32 = v12 + 1 │
00:00:23 #1099 [Verbose] > │ v10.l0 <- v23 │
00:00:23 #1100 [Verbose] > │ () │
00:00:23 #1101 [Verbose] > │ let v24 : string = "force on bike (N)" │
00:00:23 #1102 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:23 #1103 [Verbose] > │ (v24, v0, v9)|] │
00:00:23 #1104 [Verbose] > │ let v26 : string = "child pedaling then coasting" │
00:00:23 #1105 [Verbose] > │ let v27 : string = "time (s)" │
00:00:23 #1106 [Verbose] > │ let v28 : string = "" │
00:00:23 #1107 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:23 #1108 [Verbose] > │ method0() │
00:00:23 #1109 [Verbose] > │ │
00:00:23 #1110 [Verbose] > │ │
00:00:23 #1111 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1112 [Verbose] >
00:00:23 #1113 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1114 [Verbose] > // // test
00:00:23 #1115 [Verbose] >
00:00:23 #1116 [Verbose] > inl x = am'.init_series -5 45 1
00:00:23 #1117 [Verbose] > inl y = x |> am.map (position_ft 0.1f64 20 0 0 [[ pedal_coast ]])
00:00:23 #1118 [Verbose] > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y
00:00:23 #1119 [Verbose] > ]]
00:00:23 #1120 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5574-7401-7905f137ce5d\main.spi
00:00:23 #1121 [Verbose] >
00:00:23 #1122 [Verbose] > ╭─[ 567.55ms - return value ]──────────────────────────────────────────────────╮
00:00:23 #1123 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:23 #1124 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:23 #1125 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:23 #1126 [Verbose] > │ stroke="none"/> │
00:00:23 #1127 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:23 #1128 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:23 #1129 [Verbose] > │ fill="#FFFFFF"> │
00:00:23 #1130 [Verbose] > │ child pedaling then coasting │
00:00:23 #1131 [Verbose] > │ </text> │
00:00:23 #1132 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:23 #1133 [Verbose] > │ y2="75"/> │
00:00:23 #1134 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:23 #1135 [Verbose] > │ y2="75"/> │
00:00:23 #1136 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:23 #1137 [Verbose] > │ y2="75"/> │
00:00:23 #1138 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:23 #1139 [Verbose] > │ y2="75"/> │
00:00:23 #1140 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:23 #1141 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1142 [Verbose] >
00:00:23 #1143 [Verbose] > ╭─[ 579.63ms - stdout ]────────────────────────────────────────────────────────╮
00:00:23 #1144 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:23 #1145 [Verbose] > │ and UH0 = │
00:00:23 #1146 [Verbose] > │ | UH0_0 of float * UH0 │
00:00:23 #1147 [Verbose] > │ | UH0_1 │
00:00:23 #1148 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:23 #1149 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:23 #1150 [Verbose] > │ let v2 : bool = v1 < 51 │
00:00:23 #1151 [Verbose] > │ v2 │
00:00:23 #1152 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:23 #1153 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:23 #1154 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:23 #1155 [Verbose] > │ v3 │
00:00:23 #1156 [Verbose] > │ and method3 (v0 : float, v1 : float) : UH0 = │
00:00:23 #1157 [Verbose] > │ let v2 : bool = v1 < v0 │
00:00:23 #1158 [Verbose] > │ if v2 then │
00:00:23 #1159 [Verbose] > │ let v3 : float = 0.1 * v1 │
00:00:23 #1160 [Verbose] > │ let v4 : float = 0.05 + v3 │
00:00:23 #1161 [Verbose] > │ let v5 : float = v1 + 1.0 │
00:00:23 #1162 [Verbose] > │ let v6 : UH0 = method3(v0, v5) │
00:00:23 #1163 [Verbose] > │ UH0_0(v4, v6) │
00:00:23 #1164 [Verbose] > │ else │
00:00:23 #1165 [Verbose] > │ UH0_1 │
00:00:23 #1166 [Verbose] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:23 #1167 [Verbose] > │ match v0 with │
00:00:23 #1168 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1169 [Verbose] > │ let v4 : UH0 = method5(v3, v1) │
00:00:23 #1170 [Verbose] > │ let v5 : float = v2 / 20.0 │
00:00:23 #1171 [Verbose] > │ let v6 : int32 = int32 v5 │
00:00:23 #1172 [Verbose] > │ let v7 : float = float v6 │
00:00:23 #1173 [Verbose] > │ let v8 : float = v7 * 20.0 │
00:00:23 #1174 [Verbose] > │ let v9 : float = v2 - v8 │
00:00:23 #1175 [Verbose] > │ let v10 : bool = v9 > 0.0 │
00:00:23 #1176 [Verbose] > │ let v12 : bool = │
00:00:23 #1177 [Verbose] > │ if v10 then │
00:00:23 #1178 [Verbose] > │ let v11 : bool = v9 < 10.0 │
00:00:23 #1179 [Verbose] > │ v11 │
00:00:23 #1180 [Verbose] > │ else │
00:00:23 #1181 [Verbose] > │ false │
00:00:23 #1182 [Verbose] > │ let v13 : float = │
00:00:23 #1183 [Verbose] > │ if v12 then │
00:00:23 #1184 [Verbose] > │ 10.0 │
00:00:23 #1185 [Verbose] > │ else │
00:00:23 #1186 [Verbose] > │ 0.0 │
00:00:23 #1187 [Verbose] > │ let v14 : float = v13 / 20.0 │
00:00:23 #1188 [Verbose] > │ let v15 : float = 0.1 * v14 │
00:00:23 #1189 [Verbose] > │ UH0_0(v15, v4) │
00:00:23 #1190 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1191 [Verbose] > │ v1 │
00:00:23 #1192 [Verbose] > │ and method6 (v0 : UH0, v1 : float) : float = │
00:00:23 #1193 [Verbose] > │ match v0 with │
00:00:23 #1194 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1195 [Verbose] > │ let v4 : float = v1 + v2 │
00:00:23 #1196 [Verbose] > │ method6(v3, v4) │
00:00:23 #1197 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1198 [Verbose] > │ v1 │
00:00:23 #1199 [Verbose] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:23 #1200 [Verbose] > │ match v0 with │
00:00:23 #1201 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1202 [Verbose] > │ let v4 : UH0 = method4(v3, v1) │
00:00:23 #1203 [Verbose] > │ let v5 : float = v2 - 0.05 │
00:00:23 #1204 [Verbose] > │ let v6 : float = v5 - 0.05 │
00:00:23 #1205 [Verbose] > │ let v7 : float = v6 / 0.1 │
00:00:23 #1206 [Verbose] > │ let v8 : float = v7 + 1.0 │
00:00:23 #1207 [Verbose] > │ let v9 : float = 0.0 │
00:00:23 #1208 [Verbose] > │ let v10 : UH0 = method3(v8, v9) │
00:00:23 #1209 [Verbose] > │ let v11 : UH0 = UH0_1 │
00:00:23 #1210 [Verbose] > │ let v12 : UH0 = method5(v10, v11) │
00:00:23 #1211 [Verbose] > │ let v13 : float = 0.0 │
00:00:23 #1212 [Verbose] > │ let v14 : float = method6(v12, v13) │
00:00:23 #1213 [Verbose] > │ let v15 : float = 0.1 * v14 │
00:00:23 #1214 [Verbose] > │ UH0_0(v15, v4) │
00:00:23 #1215 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1216 [Verbose] > │ v1 │
00:00:23 #1217 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:23 #1218 [Verbose] > │ []) * (float [])) [])) = │
00:00:23 #1219 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (51) │
00:00:23 #1220 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1221 [Verbose] > │ while method1(v1) do │
00:00:23 #1222 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:23 #1223 [Verbose] > │ let v4 : float = float v3 │
00:00:23 #1224 [Verbose] > │ let v5 : float = -5.0 + v4 │
00:00:23 #1225 [Verbose] > │ v0.[int v3] <- v5 │
00:00:23 #1226 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:23 #1227 [Verbose] > │ v1.l0 <- v6 │
00:00:23 #1228 [Verbose] > │ () │
00:00:23 #1229 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:23 #1230 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:23 #1231 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1232 [Verbose] > │ while method2(v7, v9) do │
00:00:23 #1233 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:23 #1234 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:23 #1235 [Verbose] > │ let v13 : float = v12 - 0.05 │
00:00:23 #1236 [Verbose] > │ let v14 : float = v13 - 0.05 │
00:00:23 #1237 [Verbose] > │ let v15 : float = v14 / 0.1 │
00:00:23 #1238 [Verbose] > │ let v16 : float = v15 + 1.0 │
00:00:23 #1239 [Verbose] > │ let v17 : float = 0.0 │
00:00:23 #1240 [Verbose] > │ let v18 : UH0 = method3(v16, v17) │
00:00:23 #1241 [Verbose] > │ let v19 : UH0 = UH0_1 │
00:00:23 #1242 [Verbose] > │ let v20 : UH0 = method4(v18, v19) │
00:00:23 #1243 [Verbose] > │ let v21 : float = 0.0 │
00:00:23 #1244 [Verbose] > │ let v22 : float = method6(v20, v21) │
00:00:23 #1245 [Verbose] > │ v8.[int v11] <- v22 │
00:00:23 #1246 [Verbose] > │ let v23 : int32 = v11 + 1 │
00:00:23 #1247 [Verbose] > │ v9.l0 <- v23 │
00:00:23 #1248 [Verbose] > │ () │
00:00:23 #1249 [Verbose] > │ let v24 : string = "position of bike (m)" │
00:00:23 #1250 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:23 #1251 [Verbose] > │ (v24, v0, v8)|] │
00:00:23 #1252 [Verbose] > │ let v26 : string = "child pedaling then coasting" │
00:00:23 #1253 [Verbose] > │ let v27 : string = "time (s)" │
00:00:23 #1254 [Verbose] > │ let v28 : string = "" │
00:00:23 #1255 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:23 #1256 [Verbose] > │ method0() │
00:00:23 #1257 [Verbose] > │ │
00:00:23 #1258 [Verbose] > │ │
00:00:23 #1259 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1260 [Verbose] >
00:00:23 #1261 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 #1262 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 #1263 [Verbose] > │ ## velocity_fv │
00:00:23 #1264 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1265 [Verbose] >
00:00:23 #1266 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1267 [Verbose] > inl newton_second_v m fs v0 =
00:00:23 #1268 [Verbose] > fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m
00:00:23 #1269 [Verbose] >
00:00:23 #1270 [Verbose] > inl update_velocity dt m fs v0 =
00:00:23 #1271 [Verbose] > v0 + newton_second_v m fs v0 * dt
00:00:23 #1272 [Verbose] >
00:00:23 #1273 [Verbose] > inl velocity_fv dt m v0 fs t =
00:00:23 #1274 [Verbose] > stream.iterate (update_velocity dt m fs) v0
00:00:23 #1275 [Verbose] > |> stream.try_item (t / dt |> math.round |> abs)
00:00:23 #1276 [Verbose] > |> optionm'.default_value 0
00:00:23 #1277 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5634-3459-321bc8e60749\main.spi
00:00:23 #1278 [Verbose] >
00:00:23 #1279 [Verbose] > ╭─[ 205.39ms - stdout ]────────────────────────────────────────────────────────╮
00:00:23 #1280 [Verbose] > │ () │
00:00:23 #1281 [Verbose] > │ │
00:00:23 #1282 [Verbose] > │ │
00:00:23 #1283 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1284 [Verbose] >
00:00:23 #1285 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1286 [Verbose] > inl f_air drag rho area v =
00:00:23 #1287 [Verbose] > -drag * rho * area * abs v * v / 2
00:00:23 #1288 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5655-5504-59fbd18e1099\main.spi
00:00:24 #1289 [Verbose] >
00:00:24 #1290 [Verbose] > ╭─[ 172.97ms - stdout ]────────────────────────────────────────────────────────╮
00:00:24 #1291 [Verbose] > │ () │
00:00:24 #1292 [Verbose] > │ │
00:00:24 #1293 [Verbose] > │ │
00:00:24 #1294 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1295 [Verbose] >
00:00:24 #1296 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 #1297 [Verbose] > // // test
00:00:24 #1298 [Verbose] >
00:00:24 #1299 [Verbose] > inl x = am'.init_series 0 60 0.5
00:00:24 #1300 [Verbose] > inl y = x |> am.map (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 0.6
00:00:24 #1301 [Verbose] > ]])
00:00:24 #1302 [Verbose] > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]]
00:00:24 #1303 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5672-7271-796312b8611d\main.spi
00:00:24 #1304 [Verbose] >
00:00:24 #1305 [Verbose] > ╭─[ 632.59ms - return value ]──────────────────────────────────────────────────╮
00:00:24 #1306 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:24 #1307 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:24 #1308 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:24 #1309 [Verbose] > │ stroke="none"/> │
00:00:24 #1310 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:24 #1311 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:24 #1312 [Verbose] > │ fill="#FFFFFF"> │
00:00:24 #1313 [Verbose] > │ bike velocity │
00:00:24 #1314 [Verbose] > │ </text> │
00:00:24 #1315 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:24 #1316 [Verbose] > │ y2="75"/> │
00:00:24 #1317 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:24 #1318 [Verbose] > │ y2="75"/> │
00:00:24 #1319 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:24 #1320 [Verbose] > │ y2="75"/> │
00:00:24 #1321 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:24 #1322 [Verbose] > │ y2="75"/> │
00:00:24 #1323 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x... │
00:00:24 #1324 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1325 [Verbose] >
00:00:24 #1326 [Verbose] > ╭─[ 647.65ms - stdout ]────────────────────────────────────────────────────────╮
00:00:24 #1327 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:24 #1328 [Verbose] > │ and UH0 = │
00:00:24 #1329 [Verbose] > │ | UH0_0 of float * (unit -> UH0) │
00:00:24 #1330 [Verbose] > │ | UH0_1 │
00:00:24 #1331 [Verbose] > │ and [<Struct>] US0 = │
00:00:24 #1332 [Verbose] > │ | US0_0 │
00:00:24 #1333 [Verbose] > │ | US0_1 of f1_0 : float │
00:00:24 #1334 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:24 #1335 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:24 #1336 [Verbose] > │ let v2 : bool = v1 < 121 │
00:00:24 #1337 [Verbose] > │ v2 │
00:00:24 #1338 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:24 #1339 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:24 #1340 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:24 #1341 [Verbose] > │ v3 │
00:00:24 #1342 [Verbose] > │ and closure129 () () : UH0 = │
00:00:24 #1343 [Verbose] > │ let v0 : (unit -> UH0) = closure129() │
00:00:24 #1344 [Verbose] > │ UH0_0(11.664236870396083, v0) │
00:00:24 #1345 [Verbose] > │ and closure128 () () : UH0 = │
00:00:24 #1346 [Verbose] > │ let v0 : (unit -> UH0) = closure129() │
00:00:24 #1347 [Verbose] > │ UH0_0(11.664236870396081, v0) │
00:00:24 #1348 [Verbose] > │ and closure127 () () : UH0 = │
00:00:24 #1349 [Verbose] > │ let v0 : (unit -> UH0) = closure128() │
00:00:24 #1350 [Verbose] > │ UH0_0(11.66423687039608, v0) │
00:00:24 #1351 [Verbose] > │ and closure126 () () : UH0 = │
00:00:24 #1352 [Verbose] > │ let v0 : (unit -> UH0) = closure127() │
00:00:24 #1353 [Verbose] > │ UH0_0(11.664236870396078, v0) │
00:00:24 #1354 [Verbose] > │ and closure125 () () : UH0 = │
00:00:24 #1355 [Verbose] > │ let v0 : (unit -> UH0) = closure126() │
00:00:24 #1356 [Verbose] > │ UH0_0(11.664236870396074, v0) │
00:00:24 #1357 [Verbose] > │ and closure124 () () : UH0 = │
00:00:24 #1358 [Verbose] > │ let v0 : (unit -> UH0) = closure125() │
00:00:24 #1359 [Verbose] > │ UH0_0(11.66423687039607, v0) │
00:00:24 #1360 [Verbose] > │ and closure123 () () : UH0 = │
00:00:24 #1361 [Verbose] > │ let v0 : (unit -> UH0) = closure124() │
00:00:24 #1362 [Verbose] > │ UH0_0(11.664236870396065, v0) │
00:00:24 #1363 [Verbose] > │ and closure122 () () : UH0 = │
00:00:24 #1364 [Verbose] > │ let v0 : (unit -> UH0) = closure123() │
00:00:24 #1365 [Verbose] > │ UH0_0(11.664236870396058, v0) │
00:00:24 #1366 [Verbose] > │ and closure121 () () : UH0 = │
00:00:24 #1367 [Verbose] > │ let v0 : (unit -> UH0) = closure122() │
00:00:24 #1368 [Verbose] > │ UH0_0(11.66423687039605, v0) │
00:00:24 #1369 [Verbose] > │ and closure120 () () : UH0 = │
00:00:24 #1370 [Verbose] > │ let v0 : (unit -> UH0) = closure121() │
00:00:24 #1371 [Verbose] > │ UH0_0(11.664236870396037, v0) │
00:00:24 #1372 [Verbose] > │ and closure119 () () : UH0 = │
00:00:24 #1373 [Verbose] > │ let v0 : (unit -> UH0) = closure120() │
00:00:24 #1374 [Verbose] > │ UH0_0(11.66423687039602, v0) │
00:00:24 #1375 [Verbose] > │ and closure118 () () : UH0 = │
00:00:24 #1376 [Verbose] > │ let v0 : (unit -> UH0) = closure119() │
00:00:24 #1377 [Verbose] > │ UH0_0(11.664236870396, v0) │
00:00:24 #1378 [Verbose] > │ and closure117 () () : UH0 = │
00:00:24 #1379 [Verbose] > │ let v0 : (unit -> UH0) = closure118() │
00:00:24 #1380 [Verbose] > │ UH0_0(11.664236870395971, v0) │
00:00:24 #1381 [Verbose] > │ and closure116 () () : UH0 = │
00:00:24 #1382 [Verbose] > │ let v0 : (unit -> UH0) = closure117() │
00:00:24 #1383 [Verbose] > │ UH0_0(11.664236870395934, v0) │
00:00:24 #1384 [Verbose] > │ and closure115 () () : UH0 = │
00:00:24 #1385 [Verbose] > │ let v0 : (unit -> UH0) = closure116() │
00:00:24 #1386 [Verbose] > │ UH0_0(11.664236870395884, v0) │
00:00:24 #1387 [Verbose] > │ and closure114 () () : UH0 = │
00:00:24 #1388 [Verbose] > │ let v0 : (unit -> UH0) = closure115() │
00:00:24 #1389 [Verbose] > │ UH0_0(11.664236870395818, v0) │
00:00:24 #1390 [Verbose] > │ and closure113 () () : UH0 = │
00:00:24 #1391 [Verbose] > │ let v0 : (unit -> UH0) = closure114() │
00:00:24 #1392 [Verbose] > │ UH0_0(11.664236870395731, v0) │
00:00:24 #1393 [Verbose] > │ and closure112 () () : UH0 = │
00:00:24 #1394 [Verbose] > │ let v0 : (unit -> UH0) = closure113() │
00:00:24 #1395 [Verbose] > │ UH0_0(11.664236870395616, v0) │
00:00:24 #1396 [Verbose] > │ and closure111 () () : UH0 = │
00:00:24 #1397 [Verbose] > │ let v0 : (unit -> UH0) = closure112() │
00:00:24 #1398 [Verbose] > │ UH0_0(11.664236870395463, v0) │
00:00:24 #1399 [Verbose] > │ and closure110 () () : UH0 = │
00:00:24 #1400 [Verbose] > │ let v0 : (unit -> UH0) = closure111() │
00:00:24 #1401 [Verbose] > │ UH0_0(11.66423687039526, v0) │
00:00:24 #1402 [Verbose] > │ and closure109 () () : UH0 = │
00:00:24 #1403 [Verbose] > │ let v0 : (unit -> UH0) = closure110() │
00:00:24 #1404 [Verbose] > │ UH0_0(11.664236870394992, v0) │
00:00:24 #1405 [Verbose] > │ and closure108 () () : UH0 = │
00:00:24 #1406 [Verbose] > │ let v0 : (unit -> UH0) = closure109() │
00:00:24 #1407 [Verbose] > │ UH0_0(11.664236870394637, v0) │
00:00:24 #1408 [Verbose] > │ and closure107 () () : UH0 = │
00:00:24 #1409 [Verbose] > │ let v0 : (unit -> UH0) = closure108() │
00:00:24 #1410 [Verbose] > │ UH0_0(11.664236870394168, v0) │
00:00:24 #1411 [Verbose] > │ and closure106 () () : UH0 = │
00:00:24 #1412 [Verbose] > │ let v0 : (unit -> UH0) = closure107() │
00:00:24 #1413 [Verbose] > │ UH0_0(11.664236870393546, v0) │
00:00:24 #1414 [Verbose] > │ and closure105 () () : UH0 = │
00:00:24 #1415 [Verbose] > │ let v0 : (unit -> UH0) = closure106() │
00:00:24 #1416 [Verbose] > │ UH0_0(11.664236870392722, v0) │
00:00:24 #1417 [Verbose] > │ and closure104 () () : UH0 = │
00:00:24 #1418 [Verbose] > │ let v0 : (unit -> UH0) = closure105() │
00:00:24 #1419 [Verbose] > │ UH0_0(11.664236870391631, v0) │
00:00:24 #1420 [Verbose] > │ and closure103 () () : UH0 = │
00:00:24 #1421 [Verbose] > │ let v0 : (unit -> UH0) = closure104() │
00:00:24 #1422 [Verbose] > │ UH0_0(11.664236870390187, v0) │
00:00:24 #1423 [Verbose] > │ and closure102 () () : UH0 = │
00:00:24 #1424 [Verbose] > │ let v0 : (unit -> UH0) = closure103() │
00:00:24 #1425 [Verbose] > │ UH0_0(11.664236870388274, v0) │
00:00:24 #1426 [Verbose] > │ and closure101 () () : UH0 = │
00:00:24 #1427 [Verbose] > │ let v0 : (unit -> UH0) = closure102() │
00:00:24 #1428 [Verbose] > │ UH0_0(11.66423687038574, v0) │
00:00:24 #1429 [Verbose] > │ and closure100 () () : UH0 = │
00:00:24 #1430 [Verbose] > │ let v0 : (unit -> UH0) = closure101() │
00:00:24 #1431 [Verbose] > │ UH0_0(11.664236870382384, v0) │
00:00:24 #1432 [Verbose] > │ and closure99 () () : UH0 = │
00:00:24 #1433 [Verbose] > │ let v0 : (unit -> UH0) = closure100() │
00:00:24 #1434 [Verbose] > │ UH0_0(11.664236870377938, v0) │
00:00:24 #1435 [Verbose] > │ and closure98 () () : UH0 = │
00:00:24 #1436 [Verbose] > │ let v0 : (unit -> UH0) = closure99() │
00:00:24 #1437 [Verbose] > │ UH0_0(11.66423687037205, v0) │
00:00:24 #1438 [Verbose] > │ and closure97 () () : UH0 = │
00:00:24 #1439 [Verbose] > │ let v0 : (unit -> UH0) = closure98() │
00:00:24 #1440 [Verbose] > │ UH0_0(11.664236870364254, v0) │
00:00:24 #1441 [Verbose] > │ and closure96 () () : UH0 = │
00:00:24 #1442 [Verbose] > │ let v0 : (unit -> UH0) = closure97() │
00:00:24 #1443 [Verbose] > │ UH0_0(11.664236870353927, v0) │
00:00:24 #1444 [Verbose] > │ and closure95 () () : UH0 = │
00:00:24 #1445 [Verbose] > │ let v0 : (unit -> UH0) = closure96() │
00:00:24 #1446 [Verbose] > │ UH0_0(11.664236870340249, v0) │
00:00:24 #1447 [Verbose] > │ and closure94 () () : UH0 = │
00:00:24 #1448 [Verbose] > │ let v0 : (unit -> UH0) = closure95() │
00:00:24 #1449 [Verbose] > │ UH0_0(11.664236870322135, v0) │
00:00:24 #1450 [Verbose] > │ and closure93 () () : UH0 = │
00:00:24 #1451 [Verbose] > │ let v0 : (unit -> UH0) = closure94() │
00:00:24 #1452 [Verbose] > │ UH0_0(11.664236870298145, v0) │
00:00:24 #1453 [Verbose] > │ and closure92 () () : UH0 = │
00:00:24 #1454 [Verbose] > │ let v0 : (unit -> UH0) = closure93() │
00:00:24 #1455 [Verbose] > │ UH0_0(11.664236870266372, v0) │
00:00:24 #1456 [Verbose] > │ and closure91 () () : UH0 = │
00:00:24 #1457 [Verbose] > │ let v0 : (unit -> UH0) = closure92() │
00:00:24 #1458 [Verbose] > │ UH0_0(11.664236870224292, v0) │
00:00:24 #1459 [Verbose] > │ and closure90 () () : UH0 = │
00:00:24 #1460 [Verbose] > │ let v0 : (unit -> UH0) = closure91() │
00:00:24 #1461 [Verbose] > │ UH0_0(11.66423687016856, v0) │
00:00:24 #1462 [Verbose] > │ and closure89 () () : UH0 = │
00:00:24 #1463 [Verbose] > │ let v0 : (unit -> UH0) = closure90() │
00:00:24 #1464 [Verbose] > │ UH0_0(11.664236870094747, v0) │
00:00:24 #1465 [Verbose] > │ and closure88 () () : UH0 = │
00:00:24 #1466 [Verbose] > │ let v0 : (unit -> UH0) = closure89() │
00:00:24 #1467 [Verbose] > │ UH0_0(11.664236869996989, v0) │
00:00:24 #1468 [Verbose] > │ and closure87 () () : UH0 = │
00:00:24 #1469 [Verbose] > │ let v0 : (unit -> UH0) = closure88() │
00:00:24 #1470 [Verbose] > │ UH0_0(11.664236869867516, v0) │
00:00:24 #1471 [Verbose] > │ and closure86 () () : UH0 = │
00:00:24 #1472 [Verbose] > │ let v0 : (unit -> UH0) = closure87() │
00:00:24 #1473 [Verbose] > │ UH0_0(11.66423686969604, v0) │
00:00:24 #1474 [Verbose] > │ and closure85 () () : UH0 = │
00:00:24 #1475 [Verbose] > │ let v0 : (unit -> UH0) = closure86() │
00:00:24 #1476 [Verbose] > │ UH0_0(11.664236869468937, v0) │
00:00:24 #1477 [Verbose] > │ and closure84 () () : UH0 = │
00:00:24 #1478 [Verbose] > │ let v0 : (unit -> UH0) = closure85() │
00:00:24 #1479 [Verbose] > │ UH0_0(11.664236869168157, v0) │
00:00:24 #1480 [Verbose] > │ and closure83 () () : UH0 = │
00:00:24 #1481 [Verbose] > │ let v0 : (unit -> UH0) = closure84() │
00:00:24 #1482 [Verbose] > │ UH0_0(11.6642368687698, v0) │
00:00:24 #1483 [Verbose] > │ and closure82 () () : UH0 = │
00:00:24 #1484 [Verbose] > │ let v0 : (unit -> UH0) = closure83() │
00:00:24 #1485 [Verbose] > │ UH0_0(11.664236868242211, v0) │
00:00:24 #1486 [Verbose] > │ and closure81 () () : UH0 = │
00:00:24 #1487 [Verbose] > │ let v0 : (unit -> UH0) = closure82() │
00:00:24 #1488 [Verbose] > │ UH0_0(11.664236867543465, v0) │
00:00:24 #1489 [Verbose] > │ and closure80 () () : UH0 = │
00:00:24 #1490 [Verbose] > │ let v0 : (unit -> UH0) = closure81() │
00:00:24 #1491 [Verbose] > │ UH0_0(11.664236866618037, v0) │
00:00:24 #1492 [Verbose] > │ and closure79 () () : UH0 = │
00:00:24 #1493 [Verbose] > │ let v0 : (unit -> UH0) = closure80() │
00:00:24 #1494 [Verbose] > │ UH0_0(11.664236865392386, v0) │
00:00:24 #1495 [Verbose] > │ and closure78 () () : UH0 = │
00:00:24 #1496 [Verbose] > │ let v0 : (unit -> UH0) = closure79() │
00:00:24 #1497 [Verbose] > │ UH0_0(11.664236863769117, v0) │
00:00:24 #1498 [Verbose] > │ and closure77 () () : UH0 = │
00:00:24 #1499 [Verbose] > │ let v0 : (unit -> UH0) = closure78() │
00:00:24 #1500 [Verbose] > │ UH0_0(11.664236861619237, v0) │
00:00:24 #1501 [Verbose] > │ and closure76 () () : UH0 = │
00:00:24 #1502 [Verbose] > │ let v0 : (unit -> UH0) = closure77() │
00:00:24 #1503 [Verbose] > │ UH0_0(11.664236858771906, v0) │
00:00:24 #1504 [Verbose] > │ and closure75 () () : UH0 = │
00:00:24 #1505 [Verbose] > │ let v0 : (unit -> UH0) = closure76() │
00:00:24 #1506 [Verbose] > │ UH0_0(11.66423685500086, v0) │
00:00:24 #1507 [Verbose] > │ and closure74 () () : UH0 = │
00:00:24 #1508 [Verbose] > │ let v0 : (unit -> UH0) = closure75() │
00:00:24 #1509 [Verbose] > │ UH0_0(11.664236850006436, v0) │
00:00:24 #1510 [Verbose] > │ and closure73 () () : UH0 = │
00:00:24 #1511 [Verbose] > │ let v0 : (unit -> UH0) = closure74() │
00:00:24 #1512 [Verbose] > │ UH0_0(11.664236843391752, v0) │
00:00:24 #1513 [Verbose] > │ and closure72 () () : UH0 = │
00:00:24 #1514 [Verbose] > │ let v0 : (unit -> UH0) = closure73() │
00:00:24 #1515 [Verbose] > │ UH0_0(11.664236834631172, v0) │
00:00:24 #1516 [Verbose] > │ and closure71 () () : UH0 = │
00:00:24 #1517 [Verbose] > │ let v0 : (unit -> UH0) = closure72() │
00:00:24 #1518 [Verbose] > │ UH0_0(11.66423682302854, v0) │
00:00:24 #1519 [Verbose] > │ and closure70 () () : UH0 = │
00:00:24 #1520 [Verbose] > │ let v0 : (unit -> UH0) = closure71() │
00:00:24 #1521 [Verbose] > │ UH0_0(11.664236807661855, v0) │
00:00:24 #1522 [Verbose] > │ and closure69 () () : UH0 = │
00:00:24 #1523 [Verbose] > │ let v0 : (unit -> UH0) = closure70() │
00:00:24 #1524 [Verbose] > │ UH0_0(11.664236787310005, v0) │
00:00:24 #1525 [Verbose] > │ and closure68 () () : UH0 = │
00:00:24 #1526 [Verbose] > │ let v0 : (unit -> UH0) = closure69() │
00:00:24 #1527 [Verbose] > │ UH0_0(11.664236760355733, v0) │
00:00:24 #1528 [Verbose] > │ and closure67 () () : UH0 = │
00:00:24 #1529 [Verbose] > │ let v0 : (unit -> UH0) = closure68() │
00:00:24 #1530 [Verbose] > │ UH0_0(11.664236724657123, v0) │
00:00:24 #1531 [Verbose] > │ and closure66 () () : UH0 = │
00:00:24 #1532 [Verbose] > │ let v0 : (unit -> UH0) = closure67() │
00:00:24 #1533 [Verbose] > │ UH0_0(11.66423667737739, v0) │
00:00:24 #1534 [Verbose] > │ and closure65 () () : UH0 = │
00:00:24 #1535 [Verbose] > │ let v0 : (unit -> UH0) = closure66() │
00:00:24 #1536 [Verbose] > │ UH0_0(11.664236614759462, v0) │
00:00:24 #1537 [Verbose] > │ and closure64 () () : UH0 = │
00:00:24 #1538 [Verbose] > │ let v0 : (unit -> UH0) = closure65() │
00:00:24 #1539 [Verbose] > │ UH0_0(11.664236531827415, v0) │
00:00:24 #1540 [Verbose] > │ and closure63 () () : UH0 = │
00:00:24 #1541 [Verbose] > │ let v0 : (unit -> UH0) = closure64() │
00:00:24 #1542 [Verbose] > │ UH0_0(11.664236421991067, v0) │
00:00:24 #1543 [Verbose] > │ and closure62 () () : UH0 = │
00:00:24 #1544 [Verbose] > │ let v0 : (unit -> UH0) = closure63() │
00:00:24 #1545 [Verbose] > │ UH0_0(11.664236276522294, v0) │
00:00:24 #1546 [Verbose] > │ and closure61 () () : UH0 = │
00:00:24 #1547 [Verbose] > │ let v0 : (unit -> UH0) = closure62() │
00:00:24 #1548 [Verbose] > │ UH0_0(11.664236083861448, v0) │
00:00:24 #1549 [Verbose] > │ and closure60 () () : UH0 = │
00:00:24 #1550 [Verbose] > │ let v0 : (unit -> UH0) = closure61() │
00:00:24 #1551 [Verbose] > │ UH0_0(11.664235828698772, v0) │
00:00:24 #1552 [Verbose] > │ and closure59 () () : UH0 = │
00:00:24 #1553 [Verbose] > │ let v0 : (unit -> UH0) = closure60() │
00:00:24 #1554 [Verbose] > │ UH0_0(11.664235490757811, v0) │
00:00:24 #1555 [Verbose] > │ and closure58 () () : UH0 = │
00:00:24 #1556 [Verbose] > │ let v0 : (unit -> UH0) = closure59() │
00:00:24 #1557 [Verbose] > │ UH0_0(11.664235043184158, v0) │
00:00:24 #1558 [Verbose] > │ and closure57 () () : UH0 = │
00:00:24 #1559 [Verbose] > │ let v0 : (unit -> UH0) = closure58() │
00:00:24 #1560 [Verbose] > │ UH0_0(11.66423445041147, v0) │
00:00:24 #1561 [Verbose] > │ and closure56 () () : UH0 = │
00:00:24 #1562 [Verbose] > │ let v0 : (unit -> UH0) = closure57() │
00:00:24 #1563 [Verbose] > │ UH0_0(11.664233665335203, v0) │
00:00:24 #1564 [Verbose] > │ and closure55 () () : UH0 = │
00:00:24 #1565 [Verbose] > │ let v0 : (unit -> UH0) = closure56() │
00:00:24 #1566 [Verbose] > │ UH0_0(11.664232625569467, v0) │
00:00:24 #1567 [Verbose] > │ and closure54 () () : UH0 = │
00:00:24 #1568 [Verbose] > │ let v0 : (unit -> UH0) = closure55() │
00:00:24 #1569 [Verbose] > │ UH0_0(11.664231248489562, v0) │
00:00:24 #1570 [Verbose] > │ and closure53 () () : UH0 = │
00:00:24 #1571 [Verbose] > │ let v0 : (unit -> UH0) = closure54() │
00:00:24 #1572 [Verbose] > │ UH0_0(11.664229424666262, v0) │
00:00:24 #1573 [Verbose] > │ and closure52 () () : UH0 = │
00:00:24 #1574 [Verbose] > │ let v0 : (unit -> UH0) = closure53() │
00:00:24 #1575 [Verbose] > │ UH0_0(11.66422700917009, v0) │
00:00:24 #1576 [Verbose] > │ and closure51 () () : UH0 = │
00:00:24 #1577 [Verbose] > │ let v0 : (unit -> UH0) = closure52() │
00:00:24 #1578 [Verbose] > │ UH0_0(11.664223810054642, v0) │
00:00:24 #1579 [Verbose] > │ and closure50 () () : UH0 = │
00:00:24 #1580 [Verbose] > │ let v0 : (unit -> UH0) = closure51() │
00:00:24 #1581 [Verbose] > │ UH0_0(11.664219573103773, v0) │
00:00:24 #1582 [Verbose] > │ and closure49 () () : UH0 = │
00:00:24 #1583 [Verbose] > │ let v0 : (unit -> UH0) = closure50() │
00:00:24 #1584 [Verbose] > │ UH0_0(11.6642139616307, v0) │
00:00:24 #1585 [Verbose] > │ and closure48 () () : UH0 = │
00:00:24 #1586 [Verbose] > │ let v0 : (unit -> UH0) = closure49() │
00:00:24 #1587 [Verbose] > │ UH0_0(11.664206529723813, v0) │
00:00:24 #1588 [Verbose] > │ and closure47 () () : UH0 = │
00:00:24 #1589 [Verbose] > │ let v0 : (unit -> UH0) = closure48() │
00:00:24 #1590 [Verbose] > │ UH0_0(11.664196686813408, v0) │
00:00:24 #1591 [Verbose] > │ and closure46 () () : UH0 = │
00:00:24 #1592 [Verbose] > │ let v0 : (unit -> UH0) = closure47() │
00:00:24 #1593 [Verbose] > │ UH0_0(11.664183650743945, v0) │
00:00:24 #1594 [Verbose] > │ and closure45 () () : UH0 = │
00:00:24 #1595 [Verbose] > │ let v0 : (unit -> UH0) = closure46() │
00:00:24 #1596 [Verbose] > │ UH0_0(11.664166385623318, v0) │
00:00:24 #1597 [Verbose] > │ and closure44 () () : UH0 = │
00:00:24 #1598 [Verbose] > │ let v0 : (unit -> UH0) = closure45() │
00:00:24 #1599 [Verbose] > │ UH0_0(11.664143519511356, v0) │
00:00:24 #1600 [Verbose] > │ and closure43 () () : UH0 = │
00:00:24 #1601 [Verbose] > │ let v0 : (unit -> UH0) = closure44() │
00:00:24 #1602 [Verbose] > │ UH0_0(11.664113235408447, v0) │
00:00:24 #1603 [Verbose] > │ and closure42 () () : UH0 = │
00:00:24 #1604 [Verbose] > │ let v0 : (unit -> UH0) = closure43() │
00:00:24 #1605 [Verbose] > │ UH0_0(11.66407312688485, v0) │
00:00:24 #1606 [Verbose] > │ and closure41 () () : UH0 = │
00:00:24 #1607 [Verbose] > │ let v0 : (unit -> UH0) = closure42() │
00:00:24 #1608 [Verbose] > │ UH0_0(11.664020006883758, v0) │
00:00:24 #1609 [Verbose] > │ and closure40 () () : UH0 = │
00:00:24 #1610 [Verbose] > │ let v0 : (unit -> UH0) = closure41() │
00:00:24 #1611 [Verbose] > │ UH0_0(11.663949654514292, v0) │
00:00:24 #1612 [Verbose] > │ and closure39 () () : UH0 = │
00:00:24 #1613 [Verbose] > │ let v0 : (unit -> UH0) = closure40() │
00:00:24 #1614 [Verbose] > │ UH0_0(11.663856479730171, v0) │
00:00:24 #1615 [Verbose] > │ and closure38 () () : UH0 = │
00:00:24 #1616 [Verbose] > │ let v0 : (unit -> UH0) = closure39() │
00:00:24 #1617 [Verbose] > │ UH0_0(11.663733079277343, v0) │
00:00:24 #1618 [Verbose] > │ and closure37 () () : UH0 = │
00:00:24 #1619 [Verbose] > │ let v0 : (unit -> UH0) = closure38() │
00:00:24 #1620 [Verbose] > │ UH0_0(11.663569648675777, v0) │
00:00:24 #1621 [Verbose] > │ and closure36 () () : UH0 = │
00:00:24 #1622 [Verbose] > │ let v0 : (unit -> UH0) = closure37() │
00:00:24 #1623 [Verbose] > │ UH0_0(11.663353203599439, v0) │
00:00:24 #1624 [Verbose] > │ and closure35 () () : UH0 = │
00:00:24 #1625 [Verbose] > │ let v0 : (unit -> UH0) = closure36() │
00:00:24 #1626 [Verbose] > │ UH0_0(11.663066548940721, v0) │
00:00:24 #1627 [Verbose] > │ and closure34 () () : UH0 = │
00:00:24 #1628 [Verbose] > │ let v0 : (unit -> UH0) = closure35() │
00:00:24 #1629 [Verbose] > │ UH0_0(11.662686913915445, v0) │
00:00:24 #1630 [Verbose] > │ and closure33 () () : UH0 = │
00:00:24 #1631 [Verbose] > │ let v0 : (unit -> UH0) = closure34() │
00:00:24 #1632 [Verbose] > │ UH0_0(11.662184145236864, v0) │
00:00:24 #1633 [Verbose] > │ and closure32 () () : UH0 = │
00:00:24 #1634 [Verbose] > │ let v0 : (unit -> UH0) = closure33() │
00:00:24 #1635 [Verbose] > │ UH0_0(11.661518315638029, v0) │
00:00:24 #1636 [Verbose] > │ and closure31 () () : UH0 = │
00:00:24 #1637 [Verbose] > │ let v0 : (unit -> UH0) = closure32() │
00:00:24 #1638 [Verbose] > │ UH0_0(11.66063655920926, v0) │
00:00:24 #1639 [Verbose] > │ and closure30 () () : UH0 = │
00:00:24 #1640 [Verbose] > │ let v0 : (unit -> UH0) = closure31() │
00:00:24 #1641 [Verbose] > │ UH0_0(11.659468884709733, v0) │
00:00:24 #1642 [Verbose] > │ and closure29 () () : UH0 = │
00:00:24 #1643 [Verbose] > │ let v0 : (unit -> UH0) = closure30() │
00:00:24 #1644 [Verbose] > │ UH0_0(11.657922638782631, v0) │
00:00:24 #1645 [Verbose] > │ and closure28 () () : UH0 = │
00:00:24 #1646 [Verbose] > │ let v0 : (unit -> UH0) = closure29() │
00:00:24 #1647 [Verbose] > │ UH0_0(11.655875187195818, v0) │
00:00:24 #1648 [Verbose] > │ and closure27 () () : UH0 = │
00:00:24 #1649 [Verbose] > │ let v0 : (unit -> UH0) = closure28() │
00:00:24 #1650 [Verbose] > │ UH0_0(11.653164246713697, v0) │
00:00:24 #1651 [Verbose] > │ and closure26 () () : UH0 = │
00:00:24 #1652 [Verbose] > │ let v0 : (unit -> UH0) = closure27() │
00:00:24 #1653 [Verbose] > │ UH0_0(11.64957512416459, v0) │
00:00:24 #1654 [Verbose] > │ and closure25 () () : UH0 = │
00:00:24 #1655 [Verbose] > │ let v0 : (unit -> UH0) = closure26() │
00:00:24 #1656 [Verbose] > │ UH0_0(11.644823892116417, v0) │
00:00:24 #1657 [Verbose] > │ and closure24 () () : UH0 = │
00:00:24 #1658 [Verbose] > │ let v0 : (unit -> UH0) = closure25() │
00:00:24 #1659 [Verbose] > │ UH0_0(11.63853524018339, v0) │
00:00:24 #1660 [Verbose] > │ and closure23 () () : UH0 = │
00:00:24 #1661 [Verbose] > │ let v0 : (unit -> UH0) = closure24() │
00:00:24 #1662 [Verbose] > │ UH0_0(11.630213374558416, v0) │
00:00:24 #1663 [Verbose] > │ and closure22 () () : UH0 = │
00:00:24 #1664 [Verbose] > │ let v0 : (unit -> UH0) = closure23() │
00:00:24 #1665 [Verbose] > │ UH0_0(11.619203884549703, v0) │
00:00:24 #1666 [Verbose] > │ and closure21 () () : UH0 = │
00:00:24 #1667 [Verbose] > │ let v0 : (unit -> UH0) = closure22() │
00:00:24 #1668 [Verbose] > │ UH0_0(11.604643948207235, v0) │
00:00:24 #1669 [Verbose] > │ and closure20 () () : UH0 = │
00:00:24 #1670 [Verbose] > │ let v0 : (unit -> UH0) = closure21() │
00:00:24 #1671 [Verbose] > │ UH0_0(11.585397618384544, v0) │
00:00:24 #1672 [Verbose] > │ and closure19 () () : UH0 = │
00:00:24 #1673 [Verbose] > │ let v0 : (unit -> UH0) = closure20() │
00:00:24 #1674 [Verbose] > │ UH0_0(11.559972254267073, v0) │
00:00:24 #1675 [Verbose] > │ and closure18 () () : UH0 = │
00:00:24 #1676 [Verbose] > │ let v0 : (unit -> UH0) = closure19() │
00:00:24 #1677 [Verbose] > │ UH0_0(11.526411536153837, v0) │
00:00:24 #1678 [Verbose] > │ and closure17 () () : UH0 = │
00:00:24 #1679 [Verbose] > │ let v0 : (unit -> UH0) = closure18() │
00:00:24 #1680 [Verbose] > │ UH0_0(11.48216011776808, v0) │
00:00:24 #1681 [Verbose] > │ and closure16 () () : UH0 = │
00:00:24 #1682 [Verbose] > │ let v0 : (unit -> UH0) = closure17() │
00:00:24 #1683 [Verbose] > │ UH0_0(11.42389519391233, v0) │
00:00:24 #1684 [Verbose] > │ and closure15 () () : UH0 = │
00:00:24 #1685 [Verbose] > │ let v0 : (unit -> UH0) = closure16() │
00:00:24 #1686 [Verbose] > │ UH0_0(11.347321723441393, v0) │
00:00:24 #1687 [Verbose] > │ and closure14 () () : UH0 = │
00:00:24 #1688 [Verbose] > │ let v0 : (unit -> UH0) = closure15() │
00:00:24 #1689 [Verbose] > │ UH0_0(11.246931775734161, v0) │
00:00:24 #1690 [Verbose] > │ and closure13 () () : UH0 = │
00:00:24 #1691 [Verbose] > │ let v0 : (unit -> UH0) = closure14() │
00:00:24 #1692 [Verbose] > │ UH0_0(11.115736011467376, v0) │
00:00:24 #1693 [Verbose] > │ and closure12 () () : UH0 = │
00:00:24 #1694 [Verbose] > │ let v0 : (unit -> UH0) = closure13() │
00:00:24 #1695 [Verbose] > │ UH0_0(10.94498876251829, v0) │
00:00:24 #1696 [Verbose] > │ and closure11 () () : UH0 = │
00:00:24 #1697 [Verbose] > │ let v0 : (unit -> UH0) = closure12() │
00:00:24 #1698 [Verbose] > │ UH0_0(10.72394989903564, v0) │
00:00:24 #1699 [Verbose] > │ and closure10 () () : UH0 = │
00:00:24 #1700 [Verbose] > │ let v0 : (unit -> UH0) = closure11() │
00:00:24 #1701 [Verbose] > │ UH0_0(10.439758275369812, v0) │
00:00:24 #1702 [Verbose] > │ and closure9 () () : UH0 = │
00:00:24 #1703 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │
00:00:24 #1704 [Verbose] > │ UH0_0(10.077531599826058, v0) │
00:00:24 #1705 [Verbose] > │ and closure8 () () : UH0 = │
00:00:24 #1706 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │
00:00:24 #1707 [Verbose] > │ UH0_0(9.62084761372258, v0) │
00:00:24 #1708 [Verbose] > │ and closure7 () () : UH0 = │
00:00:24 #1709 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │
00:00:24 #1710 [Verbose] > │ UH0_0(9.052781056066443, v0) │
00:00:24 #1711 [Verbose] > │ and closure6 () () : UH0 = │
00:00:24 #1712 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │
00:00:24 #1713 [Verbose] > │ UH0_0(8.357635347880503, v0) │
00:00:24 #1714 [Verbose] > │ and closure5 () () : UH0 = │
00:00:24 #1715 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │
00:00:24 #1716 [Verbose] > │ UH0_0(7.523376447621674, v0) │
00:00:24 #1717 [Verbose] > │ and closure4 () () : UH0 = │
00:00:24 #1718 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │
00:00:24 #1719 [Verbose] > │ UH0_0(6.544529054818572, v0) │
00:00:24 #1720 [Verbose] > │ and closure3 () () : UH0 = │
00:00:24 #1721 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │
00:00:24 #1722 [Verbose] > │ UH0_0(5.424976512996006, v0) │
00:00:24 #1723 [Verbose] > │ and closure2 () () : UH0 = │
00:00:24 #1724 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │
00:00:24 #1725 [Verbose] > │ UH0_0(4.179852321428571, v0) │
00:00:24 #1726 [Verbose] > │ and closure1 () () : UH0 = │
00:00:24 #1727 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │
00:00:24 #1728 [Verbose] > │ UH0_0(2.835714285714286, v0) │
00:00:24 #1729 [Verbose] > │ and closure0 () () : UH0 = │
00:00:24 #1730 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │
00:00:24 #1731 [Verbose] > │ UH0_0(1.4285714285714286, v0) │
00:00:24 #1732 [Verbose] > │ and method3 (v0 : float, v1 : UH0) : US0 = │
00:00:24 #1733 [Verbose] > │ match v1 with │
00:00:24 #1734 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:24 #1735 [Verbose] > │ let v4 : bool = v0 <= 0.0 │
00:00:24 #1736 [Verbose] > │ if v4 then │
00:00:24 #1737 [Verbose] > │ US0_1(v2) │
00:00:24 #1738 [Verbose] > │ else │
00:00:24 #1739 [Verbose] > │ let v6 : float = v0 - 1.0 │
00:00:24 #1740 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:24 #1741 [Verbose] > │ method3(v6, v7) │
00:00:24 #1742 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:24 #1743 [Verbose] > │ US0_0 │
00:00:24 #1744 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:24 #1745 [Verbose] > │ []) * (float [])) [])) = │
00:00:24 #1746 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (121) │
00:00:24 #1747 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:24 #1748 [Verbose] > │ while method1(v1) do │
00:00:24 #1749 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:24 #1750 [Verbose] > │ let v4 : float = float v3 │
00:00:24 #1751 [Verbose] > │ let v5 : float = 0.5 * v4 │
00:00:24 #1752 [Verbose] > │ v0.[int v3] <- v5 │
00:00:24 #1753 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:24 #1754 [Verbose] > │ v1.l0 <- v6 │
00:00:24 #1755 [Verbose] > │ () │
00:00:24 #1756 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:24 #1757 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:24 #1758 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:24 #1759 [Verbose] > │ while method2(v7, v9) do │
00:00:24 #1760 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:24 #1761 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:24 #1762 [Verbose] > │ let v13 : float = round v12 │
00:00:24 #1763 [Verbose] > │ let v14 : float = -v13 │
00:00:24 #1764 [Verbose] > │ let v15 : bool = v13 >= v14 │
00:00:24 #1765 [Verbose] > │ let v16 : float = │
00:00:24 #1766 [Verbose] > │ if v15 then │
00:00:24 #1767 [Verbose] > │ v13 │
00:00:24 #1768 [Verbose] > │ else │
00:00:24 #1769 [Verbose] > │ v14 │
00:00:24 #1770 [Verbose] > │ let v17 : float = 0.0 │
00:00:24 #1771 [Verbose] > │ let v18 : (unit -> UH0) = closure0() │
00:00:24 #1772 [Verbose] > │ let v19 : UH0 = UH0_0(v17, v18) │
00:00:24 #1773 [Verbose] > │ let v20 : US0 = method3(v16, v19) │
00:00:24 #1774 [Verbose] > │ let v23 : float = │
00:00:24 #1775 [Verbose] > │ match v20 with │
00:00:24 #1776 [Verbose] > │ | US0_0 -> (* None *) │
00:00:24 #1777 [Verbose] > │ 0.0 │
00:00:24 #1778 [Verbose] > │ | US0_1(v21) -> (* Some *) │
00:00:24 #1779 [Verbose] > │ v21 │
00:00:24 #1780 [Verbose] > │ v8.[int v11] <- v23 │
00:00:24 #1781 [Verbose] > │ let v24 : int32 = v11 + 1 │
00:00:24 #1782 [Verbose] > │ v9.l0 <- v24 │
00:00:24 #1783 [Verbose] > │ () │
00:00:24 #1784 [Verbose] > │ let v25 : string = "velocity of bike (m/s)" │
00:00:24 #1785 [Verbose] > │ let v26 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:24 #1786 [Verbose] > │ (v25, v0, v8)|] │
00:00:24 #1787 [Verbose] > │ let v27 : string = "bike velocity" │
00:00:24 #1788 [Verbose] > │ let v28 : string = "time (s)" │
00:00:24 #1789 [Verbose] > │ let v29 : string = "" │
00:00:24 #1790 [Verbose] > │ struct (v27, v28, v29, v26) │
00:00:24 #1791 [Verbose] > │ method0() │
00:00:24 #1792 [Verbose] > │ │
00:00:24 #1793 [Verbose] > │ │
00:00:24 #1794 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1795 [Verbose] >
00:00:24 #1796 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 #1797 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 #1798 [Verbose] > │ ## velocity_ftv │
00:00:24 #1799 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1800 [Verbose] >
00:00:24 #1801 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 #1802 [Verbose] > inl newton_second_tv m fs (t, v0) =
00:00:24 #1803 [Verbose] > inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum
00:00:24 #1804 [Verbose] > inl acc = f_net / m
00:00:24 #1805 [Verbose] > 1, acc
00:00:24 #1806 [Verbose] >
00:00:24 #1807 [Verbose] > inl update_tv dt m fs (t, v0) =
00:00:24 #1808 [Verbose] > inl dtdt, dvdt = newton_second_tv m fs (t, v0)
00:00:24 #1809 [Verbose] > t + dtdt * dt, v0 + dvdt * dt
00:00:24 #1810 [Verbose] >
00:00:24 #1811 [Verbose] > inl velocity_ftv dt m tv0 fs t =
00:00:24 #1812 [Verbose] > stream.iterate (join update_tv dt m fs) tv0
00:00:24 #1813 [Verbose] > |> stream.try_item (t / dt |> math.round |> abs)
00:00:24 #1814 [Verbose] > |> optionm.map snd
00:00:24 #1815 [Verbose] > |> optionm'.default_value 0
00:00:25 #1816 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5762-6245-6d9dec57b726\main.spi
00:00:25 #1817 [Verbose] >
00:00:25 #1818 [Verbose] > ╭─[ 191.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #1819 [Verbose] > │ () │
00:00:25 #1820 [Verbose] > │ │
00:00:25 #1821 [Verbose] > │ │
00:00:25 #1822 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1823 [Verbose] >
00:00:25 #1824 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #1825 [Verbose] > // // test
00:00:25 #1826 [Verbose] >
00:00:25 #1827 [Verbose] > inl x = am'.init_series 0 100 0.1
00:00:25 #1828 [Verbose] > inl y =
00:00:25 #1829 [Verbose] > x
00:00:25 #1830 [Verbose] > |> am.map (
00:00:25 #1831 [Verbose] > velocity_ftv 0.1 20 (dyn (0, 0)) [[ fun (t, _) => pedal_coast t; fun (_,
00:00:25 #1832 [Verbose] > v) => f_air 2 1.225 0.5 v ]]
00:00:25 #1833 [Verbose] > )
00:00:25 #1834 [Verbose] > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)",
00:00:25 #1835 [Verbose] > x, y ]]
00:00:25 #1836 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5781-8178-87f61f75d3d3\main.spi
00:00:25 #1837 [Verbose] >
00:00:25 #1838 [Verbose] > ╭─[ 444.69ms - return value ]──────────────────────────────────────────────────╮
00:00:25 #1839 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:25 #1840 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:25 #1841 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:25 #1842 [Verbose] > │ stroke="none"/> │
00:00:25 #1843 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:25 #1844 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:25 #1845 [Verbose] > │ fill="#FFFFFF"> │
00:00:25 #1846 [Verbose] > │ pedaling and coasting with air │
00:00:25 #1847 [Verbose] > │ </text> │
00:00:25 #1848 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:25 #1849 [Verbose] > │ y2="75"/> │
00:00:25 #1850 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:25 #1851 [Verbose] > │ y2="75"/> │
00:00:25 #1852 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:25 #1853 [Verbose] > │ y2="75"/> │
00:00:25 #1854 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:25 #1855 [Verbose] > │ y2="75"/> │
00:00:25 #1856 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x... │
00:00:25 #1857 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1858 [Verbose] >
00:00:25 #1859 [Verbose] > ╭─[ 457.48ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #1860 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:25 #1861 [Verbose] > │ and UH0 = │
00:00:25 #1862 [Verbose] > │ | UH0_0 of float * float * (unit -> UH0) │
00:00:25 #1863 [Verbose] > │ | UH0_1 │
00:00:25 #1864 [Verbose] > │ and [<Struct>] US0 = │
00:00:25 #1865 [Verbose] > │ | US0_0 │
00:00:25 #1866 [Verbose] > │ | US0_1 of f1_0 : float * f1_1 : float │
00:00:25 #1867 [Verbose] > │ and [<Struct>] US1 = │
00:00:25 #1868 [Verbose] > │ | US1_0 │
00:00:25 #1869 [Verbose] > │ | US1_1 of f1_0 : float │
00:00:25 #1870 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:25 #1871 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:25 #1872 [Verbose] > │ let v2 : bool = v1 < 1001 │
00:00:25 #1873 [Verbose] > │ v2 │
00:00:25 #1874 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:25 #1875 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:25 #1876 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:25 #1877 [Verbose] > │ v3 │
00:00:25 #1878 [Verbose] > │ and closure0 () struct (v0 : float, v1 : float) : struct (float * float) = │
00:00:25 #1879 [Verbose] > │ let v2 : float = -v1 │
00:00:25 #1880 [Verbose] > │ let v3 : bool = v1 >= v2 │
00:00:25 #1881 [Verbose] > │ let v4 : float = │
00:00:25 #1882 [Verbose] > │ if v3 then │
00:00:25 #1883 [Verbose] > │ v1 │
00:00:25 #1884 [Verbose] > │ else │
00:00:25 #1885 [Verbose] > │ v2 │
00:00:25 #1886 [Verbose] > │ let v5 : float = -1.225 * v4 │
00:00:25 #1887 [Verbose] > │ let v6 : float = v5 * v1 │
00:00:25 #1888 [Verbose] > │ let v7 : float = v6 / 2.0 │
00:00:25 #1889 [Verbose] > │ let v8 : float = v0 / 20.0 │
00:00:25 #1890 [Verbose] > │ let v9 : int32 = int32 v8 │
00:00:25 #1891 [Verbose] > │ let v10 : float = float v9 │
00:00:25 #1892 [Verbose] > │ let v11 : float = v10 * 20.0 │
00:00:25 #1893 [Verbose] > │ let v12 : float = v0 - v11 │
00:00:25 #1894 [Verbose] > │ let v13 : bool = v12 > 0.0 │
00:00:25 #1895 [Verbose] > │ let v15 : bool = │
00:00:25 #1896 [Verbose] > │ if v13 then │
00:00:25 #1897 [Verbose] > │ let v14 : bool = v12 < 10.0 │
00:00:25 #1898 [Verbose] > │ v14 │
00:00:25 #1899 [Verbose] > │ else │
00:00:25 #1900 [Verbose] > │ false │
00:00:25 #1901 [Verbose] > │ let v16 : float = │
00:00:25 #1902 [Verbose] > │ if v15 then │
00:00:25 #1903 [Verbose] > │ 10.0 │
00:00:25 #1904 [Verbose] > │ else │
00:00:25 #1905 [Verbose] > │ 0.0 │
00:00:25 #1906 [Verbose] > │ let v17 : float = v16 + v7 │
00:00:25 #1907 [Verbose] > │ let v18 : float = v17 / 20.0 │
00:00:25 #1908 [Verbose] > │ let v19 : float = v0 + 0.1 │
00:00:25 #1909 [Verbose] > │ let v20 : float = v18 * 0.1 │
00:00:25 #1910 [Verbose] > │ let v21 : float = v1 + v20 │
00:00:25 #1911 [Verbose] > │ struct (v19, v21) │
00:00:25 #1912 [Verbose] > │ and method3 () : (struct (float * float) -> struct (float * float)) = │
00:00:25 #1913 [Verbose] > │ closure0() │
00:00:25 #1914 [Verbose] > │ and closure1 (v0 : (struct (float * float) -> struct (float * float)), v1 : │
00:00:25 #1915 [Verbose] > │ float, v2 : float, v3 : float, v4 : float) () : UH0 = │
00:00:25 #1916 [Verbose] > │ let struct (v5 : float, v6 : float) = v0 struct (v3, v4) │
00:00:25 #1917 [Verbose] > │ let v7 : (unit -> UH0) = closure1(v0, v1, v2, v5, v6) │
00:00:25 #1918 [Verbose] > │ UH0_0(v3, v4, v7) │
00:00:25 #1919 [Verbose] > │ and method4 (v0 : float, v1 : UH0) : US0 = │
00:00:25 #1920 [Verbose] > │ match v1 with │
00:00:25 #1921 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* StreamCons *) │
00:00:25 #1922 [Verbose] > │ let v5 : bool = v0 <= 0.0 │
00:00:25 #1923 [Verbose] > │ if v5 then │
00:00:25 #1924 [Verbose] > │ US0_1(v2, v3) │
00:00:25 #1925 [Verbose] > │ else │
00:00:25 #1926 [Verbose] > │ let v7 : float = v0 - 1.0 │
00:00:25 #1927 [Verbose] > │ let v8 : UH0 = v4 () │
00:00:25 #1928 [Verbose] > │ method4(v7, v8) │
00:00:25 #1929 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:25 #1930 [Verbose] > │ US0_0 │
00:00:25 #1931 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:25 #1932 [Verbose] > │ []) * (float [])) [])) = │
00:00:25 #1933 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (1001) │
00:00:25 #1934 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1935 [Verbose] > │ while method1(v1) do │
00:00:25 #1936 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:25 #1937 [Verbose] > │ let v4 : float = float v3 │
00:00:25 #1938 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:25 #1939 [Verbose] > │ v0.[int v3] <- v5 │
00:00:25 #1940 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:25 #1941 [Verbose] > │ v1.l0 <- v6 │
00:00:25 #1942 [Verbose] > │ () │
00:00:25 #1943 [Verbose] > │ let v7 : float = 0.0 │
00:00:25 #1944 [Verbose] > │ let v8 : float = 0.0 │
00:00:25 #1945 [Verbose] > │ let v9 : int32 = v0.Length │
00:00:25 #1946 [Verbose] > │ let v10 : (float []) = Array.zeroCreate<float> (v9) │
00:00:25 #1947 [Verbose] > │ let v11 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1948 [Verbose] > │ while method2(v9, v11) do │
00:00:25 #1949 [Verbose] > │ let v13 : int32 = v11.l0 │
00:00:25 #1950 [Verbose] > │ let v14 : float = v0.[int v13] │
00:00:25 #1951 [Verbose] > │ let v15 : (struct (float * float) -> struct (float * float)) = │
00:00:25 #1952 [Verbose] > │ method3() │
00:00:25 #1953 [Verbose] > │ let struct (v16 : float, v17 : float) = v15 struct (v7, v8) │
00:00:25 #1954 [Verbose] > │ let v18 : float = v14 / 0.1 │
00:00:25 #1955 [Verbose] > │ let v19 : float = round v18 │
00:00:25 #1956 [Verbose] > │ let v20 : float = -v19 │
00:00:25 #1957 [Verbose] > │ let v21 : bool = v19 >= v20 │
00:00:25 #1958 [Verbose] > │ let v22 : float = │
00:00:25 #1959 [Verbose] > │ if v21 then │
00:00:25 #1960 [Verbose] > │ v19 │
00:00:25 #1961 [Verbose] > │ else │
00:00:25 #1962 [Verbose] > │ v20 │
00:00:25 #1963 [Verbose] > │ let v23 : (unit -> UH0) = closure1(v15, v7, v8, v16, v17) │
00:00:25 #1964 [Verbose] > │ let v24 : UH0 = UH0_0(v7, v8, v23) │
00:00:25 #1965 [Verbose] > │ let v25 : US0 = method4(v22, v24) │
00:00:25 #1966 [Verbose] > │ let v31 : US1 = │
00:00:25 #1967 [Verbose] > │ match v25 with │
00:00:25 #1968 [Verbose] > │ | US0_0 -> (* None *) │
00:00:25 #1969 [Verbose] > │ US1_0 │
00:00:25 #1970 [Verbose] > │ | US0_1(v26, v27) -> (* Some *) │
00:00:25 #1971 [Verbose] > │ US1_1(v27) │
00:00:25 #1972 [Verbose] > │ let v34 : float = │
00:00:25 #1973 [Verbose] > │ match v31 with │
00:00:25 #1974 [Verbose] > │ | US1_0 -> (* None *) │
00:00:25 #1975 [Verbose] > │ 0.0 │
00:00:25 #1976 [Verbose] > │ | US1_1(v32) -> (* Some *) │
00:00:25 #1977 [Verbose] > │ v32 │
00:00:25 #1978 [Verbose] > │ v10.[int v13] <- v34 │
00:00:25 #1979 [Verbose] > │ let v35 : int32 = v13 + 1 │
00:00:25 #1980 [Verbose] > │ v11.l0 <- v35 │
00:00:25 #1981 [Verbose] > │ () │
00:00:25 #1982 [Verbose] > │ let v36 : string = "velocity of bike (m/s)" │
00:00:25 #1983 [Verbose] > │ let v37 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:25 #1984 [Verbose] > │ (v36, v0, v10)|] │
00:00:25 #1985 [Verbose] > │ let v38 : string = "pedaling and coasting with air" │
00:00:25 #1986 [Verbose] > │ let v39 : string = "time (s)" │
00:00:25 #1987 [Verbose] > │ let v40 : string = "" │
00:00:25 #1988 [Verbose] > │ struct (v38, v39, v40, v37) │
00:00:25 #1989 [Verbose] > │ method0() │
00:00:25 #1990 [Verbose] > │ │
00:00:25 #1991 [Verbose] > │ │
00:00:25 #1992 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1993 [Verbose] >
00:00:25 #1994 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:25 #1995 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:25 #1996 [Verbose] > │ ## velocity_ftxv │
00:00:25 #1997 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1998 [Verbose] >
00:00:25 #1999 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #2000 [Verbose] > nominal state_1d = time * position * velocity
00:00:25 #2001 [Verbose] > nominal rrr = f64 * f64 * f64
00:00:25 #2002 [Verbose] >
00:00:25 #2003 [Verbose] > inl newton_second_1d m fs (state_1d (t, x0, v0)) =
00:00:25 #2004 [Verbose] > inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |>
00:00:25 #2005 [Verbose] > listm'.sum
00:00:25 #2006 [Verbose] > inl acc = f_net / m
00:00:25 #2007 [Verbose] > rrr (1f64, v0, acc)
00:00:25 #2008 [Verbose] >
00:00:25 #2009 [Verbose] > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:00:25 #2010 [Verbose] > inl (rrr (_, _, dvdt)) = deriv t
00:00:25 #2011 [Verbose] > inl t1 = t0 + dt
00:00:25 #2012 [Verbose] > inl x1 = x0 + v0 * dt
00:00:25 #2013 [Verbose] > inl v1 = v0 + dvdt * dt
00:00:25 #2014 [Verbose] > state_1d (t1, x1, v1)
00:00:25 #2015 [Verbose] >
00:00:25 #2016 [Verbose] > inl update_txv dt m fs =
00:00:25 #2017 [Verbose] > newton_second_1d m fs |> euler_1d dt
00:00:25 #2018 [Verbose] >
00:00:25 #2019 [Verbose] > inl states_txv dt m txv0 fs =
00:00:25 #2020 [Verbose] > seq.iterate_ (update_txv dt m fs) txv0
00:00:25 #2021 [Verbose] >
00:00:25 #2022 [Verbose] > inl velocity_1d sts t =
00:00:25 #2023 [Verbose] > inl (state_1d (t0, _, _)) = sts 0
00:00:25 #2024 [Verbose] > inl (state_1d (t1, _, _)) = sts 1
00:00:25 #2025 [Verbose] > inl dt = t1 - t0
00:00:25 #2026 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:25 #2027 [Verbose] > inl (state_1d (_, _, v0)) = sts num_steps
00:00:25 #2028 [Verbose] > v0
00:00:25 #2029 [Verbose] >
00:00:25 #2030 [Verbose] > inl velocity_ftxv dt m txv0 fs =
00:00:25 #2031 [Verbose] > states_txv dt m txv0 fs |> velocity_1d
00:00:25 #2032 [Verbose] >
00:00:25 #2033 [Verbose] > inl position_1d sts t =
00:00:25 #2034 [Verbose] > inl (state_1d (t0, _, _)) = sts 0
00:00:25 #2035 [Verbose] > inl (state_1d (t1, _, _)) = sts 1
00:00:25 #2036 [Verbose] > inl dt = t1 - t0
00:00:25 #2037 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:25 #2038 [Verbose] > inl (state_1d (_, x0, _)) = sts num_steps
00:00:25 #2039 [Verbose] > x0
00:00:25 #2040 [Verbose] >
00:00:25 #2041 [Verbose] > inl position_ftxv dt m txv0 fs =
00:00:25 #2042 [Verbose] > states_txv dt m txv0 fs |> position_1d
00:00:25 #2043 [Verbose] >
00:00:25 #2044 [Verbose] > inl spring_force k (state_1d (_, x0, _)) =
00:00:25 #2045 [Verbose] > -k * x0
00:00:25 #2046 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5833-3393-30dee93264cd\main.spi
00:00:25 #2047 [Verbose] >
00:00:25 #2048 [Verbose] > ╭─[ 219.23ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #2049 [Verbose] > │ () │
00:00:25 #2050 [Verbose] > │ │
00:00:25 #2051 [Verbose] > │ │
00:00:25 #2052 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #2053 [Verbose] >
00:00:25 #2054 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #2055 [Verbose] > // // test
00:00:25 #2056 [Verbose] >
00:00:25 #2057 [Verbose] > inl damped_ho_forces () =
00:00:25 #2058 [Verbose] > [[
00:00:25 #2059 [Verbose] > spring_force 0.8
00:00:25 #2060 [Verbose] > fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0
00:00:25 #2061 [Verbose] > fun _ => -0.0027 * 9.80665
00:00:25 #2062 [Verbose] > ]]
00:00:25 #2063 [Verbose] >
00:00:25 #2064 [Verbose] > inl damped_ho_states () =
00:00:25 #2065 [Verbose] > states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ())
00:00:25 #2066 [Verbose] >
00:00:25 #2067 [Verbose] > inl pingpong_position t =
00:00:25 #2068 [Verbose] > position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:00:25 #2069 [Verbose] >
00:00:25 #2070 [Verbose] > inl x : a _ f64 = am'.init_series 0 3 0.01
00:00:25 #2071 [Verbose] > inl y = x |> am.map pingpong_position
00:00:25 #2072 [Verbose] > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]]
00:00:26 #2073 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5855-5591-5a7270a5a08a\main.spi
00:00:26 #2074 [Verbose] >
00:00:26 #2075 [Verbose] > ╭─[ 290.91ms - return value ]──────────────────────────────────────────────────╮
00:00:26 #2076 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:26 #2077 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:26 #2078 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:26 #2079 [Verbose] > │ stroke="none"/> │
00:00:26 #2080 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:26 #2081 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:26 #2082 [Verbose] > │ fill="#FFFFFF"> │
00:00:26 #2083 [Verbose] > │ ping pong ball on a slinky │
00:00:26 #2084 [Verbose] > │ </text> │
00:00:26 #2085 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:26 #2086 [Verbose] > │ y2="75"/> │
00:00:26 #2087 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:26 #2088 [Verbose] > │ y2="75"/> │
00:00:26 #2089 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:26 #2090 [Verbose] > │ y2="75"/> │
00:00:26 #2091 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:26 #2092 [Verbose] > │ y2="75"/> │
00:00:26 #2093 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="9... │
00:00:26 #2094 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2095 [Verbose] >
00:00:26 #2096 [Verbose] > ╭─[ 305.40ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2097 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:26 #2098 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:26 #2099 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:26 #2100 [Verbose] > │ let v2 : bool = v1 < 301 │
00:00:26 #2101 [Verbose] > │ v2 │
00:00:26 #2102 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:26 #2103 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:26 #2104 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:26 #2105 [Verbose] > │ v3 │
00:00:26 #2106 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
00:00:26 #2107 [Verbose] > │ * float * float) = │
00:00:26 #2108 [Verbose] > │ let v4 : bool = v3 <= 0.0 │
00:00:26 #2109 [Verbose] > │ if v4 then │
00:00:26 #2110 [Verbose] > │ struct (v0, v1, v2) │
00:00:26 #2111 [Verbose] > │ else │
00:00:26 #2112 [Verbose] > │ let v5 : float = -v2 │
00:00:26 #2113 [Verbose] > │ let v6 : bool = v2 >= v5 │
00:00:26 #2114 [Verbose] > │ let v7 : float = │
00:00:26 #2115 [Verbose] > │ if v6 then │
00:00:26 #2116 [Verbose] > │ v2 │
00:00:26 #2117 [Verbose] > │ else │
00:00:26 #2118 [Verbose] > │ v5 │
00:00:26 #2119 [Verbose] > │ let v8 : float = -0.0030787608005179976 * v7 │
00:00:26 #2120 [Verbose] > │ let v9 : float = v8 * v2 │
00:00:26 #2121 [Verbose] > │ let v10 : float = v9 / 2.0 │
00:00:26 #2122 [Verbose] > │ let v11 : float = -0.8 * v1 │
00:00:26 #2123 [Verbose] > │ let v12 : float = v11 + v10 │
00:00:26 #2124 [Verbose] > │ let v13 : float = v12 + -0.026477955 │
00:00:26 #2125 [Verbose] > │ let v14 : float = v13 / 0.0027 │
00:00:26 #2126 [Verbose] > │ let v15 : float = v0 + 0.001 │
00:00:26 #2127 [Verbose] > │ let v16 : float = v2 * 0.001 │
00:00:26 #2128 [Verbose] > │ let v17 : float = v1 + v16 │
00:00:26 #2129 [Verbose] > │ let v18 : float = v14 * 0.001 │
00:00:26 #2130 [Verbose] > │ let v19 : float = v2 + v18 │
00:00:26 #2131 [Verbose] > │ let v20 : float = v3 - 1.0 │
00:00:26 #2132 [Verbose] > │ method3(v15, v17, v19, v20) │
00:00:26 #2133 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:26 #2134 [Verbose] > │ []) * (float [])) [])) = │
00:00:26 #2135 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
00:00:26 #2136 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2137 [Verbose] > │ while method1(v1) do │
00:00:26 #2138 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:26 #2139 [Verbose] > │ let v4 : float = float v3 │
00:00:26 #2140 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:26 #2141 [Verbose] > │ v0.[int v3] <- v5 │
00:00:26 #2142 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:26 #2143 [Verbose] > │ v1.l0 <- v6 │
00:00:26 #2144 [Verbose] > │ () │
00:00:26 #2145 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:26 #2146 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:26 #2147 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2148 [Verbose] > │ while method2(v7, v9) do │
00:00:26 #2149 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:26 #2150 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:26 #2151 [Verbose] > │ let v13 : float = 0.0 │
00:00:26 #2152 [Verbose] > │ let v14 : float = 0.1 │
00:00:26 #2153 [Verbose] > │ let v15 : float = 0.0 │
00:00:26 #2154 [Verbose] > │ let v16 : float = 0.0 │
00:00:26 #2155 [Verbose] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
00:00:26 #2156 [Verbose] > │ v14, v15, v16) │
00:00:26 #2157 [Verbose] > │ let v20 : float = 0.0 │
00:00:26 #2158 [Verbose] > │ let v21 : float = 0.1 │
00:00:26 #2159 [Verbose] > │ let v22 : float = 0.0 │
00:00:26 #2160 [Verbose] > │ let v23 : float = 1.0 │
00:00:26 #2161 [Verbose] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
00:00:26 #2162 [Verbose] > │ v21, v22, v23) │
00:00:26 #2163 [Verbose] > │ let v27 : float = v24 - v17 │
00:00:26 #2164 [Verbose] > │ let v28 : float = v12 / v27 │
00:00:26 #2165 [Verbose] > │ let v29 : float = round v28 │
00:00:26 #2166 [Verbose] > │ let v30 : float = -v29 │
00:00:26 #2167 [Verbose] > │ let v31 : bool = v29 >= v30 │
00:00:26 #2168 [Verbose] > │ let v32 : float = │
00:00:26 #2169 [Verbose] > │ if v31 then │
00:00:26 #2170 [Verbose] > │ v29 │
00:00:26 #2171 [Verbose] > │ else │
00:00:26 #2172 [Verbose] > │ v30 │
00:00:26 #2173 [Verbose] > │ let v33 : float = 0.0 │
00:00:26 #2174 [Verbose] > │ let v34 : float = 0.1 │
00:00:26 #2175 [Verbose] > │ let v35 : float = 0.0 │
00:00:26 #2176 [Verbose] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
00:00:26 #2177 [Verbose] > │ v34, v35, v32) │
00:00:26 #2178 [Verbose] > │ v8.[int v11] <- v37 │
00:00:26 #2179 [Verbose] > │ let v39 : int32 = v11 + 1 │
00:00:26 #2180 [Verbose] > │ v9.l0 <- v39 │
00:00:26 #2181 [Verbose] > │ () │
00:00:26 #2182 [Verbose] > │ let v40 : string = "position (m)" │
00:00:26 #2183 [Verbose] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:26 #2184 [Verbose] > │ (v40, v0, v8)|] │
00:00:26 #2185 [Verbose] > │ let v42 : string = "ping pong ball on a slinky" │
00:00:26 #2186 [Verbose] > │ let v43 : string = "time (s)" │
00:00:26 #2187 [Verbose] > │ let v44 : string = "" │
00:00:26 #2188 [Verbose] > │ struct (v42, v43, v44, v41) │
00:00:26 #2189 [Verbose] > │ method0() │
00:00:26 #2190 [Verbose] > │ │
00:00:26 #2191 [Verbose] > │ │
00:00:26 #2192 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2193 [Verbose] >
00:00:26 #2194 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2195 [Verbose] > // // test
00:00:26 #2196 [Verbose] >
00:00:26 #2197 [Verbose] > inl pingpong_velocity t =
00:00:26 #2198 [Verbose] > velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:00:26 #2199 [Verbose] >
00:00:26 #2200 [Verbose] > inl x = am'.init_series 0 3 0.01
00:00:26 #2201 [Verbose] > inl y = x |> am.map pingpong_velocity
00:00:26 #2202 [Verbose] > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]]
00:00:26 #2203 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5890-9072-962db5e5b585\main.spi
00:00:26 #2204 [Verbose] >
00:00:26 #2205 [Verbose] > ╭─[ 297.53ms - return value ]──────────────────────────────────────────────────╮
00:00:26 #2206 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:26 #2207 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:26 #2208 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:26 #2209 [Verbose] > │ stroke="none"/> │
00:00:26 #2210 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:26 #2211 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:26 #2212 [Verbose] > │ fill="#FFFFFF"> │
00:00:26 #2213 [Verbose] > │ ping pong ball on a slinky │
00:00:26 #2214 [Verbose] > │ </text> │
00:00:26 #2215 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:26 #2216 [Verbose] > │ y2="75"/> │
00:00:26 #2217 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:26 #2218 [Verbose] > │ y2="75"/> │
00:00:26 #2219 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:26 #2220 [Verbose] > │ y2="75"/> │
00:00:26 #2221 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:26 #2222 [Verbose] > │ y2="75"/> │
00:00:26 #2223 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="9... │
00:00:26 #2224 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2225 [Verbose] >
00:00:26 #2226 [Verbose] > ╭─[ 305.66ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2227 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:26 #2228 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:26 #2229 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:26 #2230 [Verbose] > │ let v2 : bool = v1 < 301 │
00:00:26 #2231 [Verbose] > │ v2 │
00:00:26 #2232 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:26 #2233 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:26 #2234 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:26 #2235 [Verbose] > │ v3 │
00:00:26 #2236 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
00:00:26 #2237 [Verbose] > │ * float * float) = │
00:00:26 #2238 [Verbose] > │ let v4 : bool = v3 <= 0.0 │
00:00:26 #2239 [Verbose] > │ if v4 then │
00:00:26 #2240 [Verbose] > │ struct (v0, v1, v2) │
00:00:26 #2241 [Verbose] > │ else │
00:00:26 #2242 [Verbose] > │ let v5 : float = -v2 │
00:00:26 #2243 [Verbose] > │ let v6 : bool = v2 >= v5 │
00:00:26 #2244 [Verbose] > │ let v7 : float = │
00:00:26 #2245 [Verbose] > │ if v6 then │
00:00:26 #2246 [Verbose] > │ v2 │
00:00:26 #2247 [Verbose] > │ else │
00:00:26 #2248 [Verbose] > │ v5 │
00:00:26 #2249 [Verbose] > │ let v8 : float = -0.0030787608005179976 * v7 │
00:00:26 #2250 [Verbose] > │ let v9 : float = v8 * v2 │
00:00:26 #2251 [Verbose] > │ let v10 : float = v9 / 2.0 │
00:00:26 #2252 [Verbose] > │ let v11 : float = -0.8 * v1 │
00:00:26 #2253 [Verbose] > │ let v12 : float = v11 + v10 │
00:00:26 #2254 [Verbose] > │ let v13 : float = v12 + -0.026477955 │
00:00:26 #2255 [Verbose] > │ let v14 : float = v13 / 0.0027 │
00:00:26 #2256 [Verbose] > │ let v15 : float = v0 + 0.001 │
00:00:26 #2257 [Verbose] > │ let v16 : float = v2 * 0.001 │
00:00:26 #2258 [Verbose] > │ let v17 : float = v1 + v16 │
00:00:26 #2259 [Verbose] > │ let v18 : float = v14 * 0.001 │
00:00:26 #2260 [Verbose] > │ let v19 : float = v2 + v18 │
00:00:26 #2261 [Verbose] > │ let v20 : float = v3 - 1.0 │
00:00:26 #2262 [Verbose] > │ method3(v15, v17, v19, v20) │
00:00:26 #2263 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:26 #2264 [Verbose] > │ []) * (float [])) [])) = │
00:00:26 #2265 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
00:00:26 #2266 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2267 [Verbose] > │ while method1(v1) do │
00:00:26 #2268 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:26 #2269 [Verbose] > │ let v4 : float = float v3 │
00:00:26 #2270 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:26 #2271 [Verbose] > │ v0.[int v3] <- v5 │
00:00:26 #2272 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:26 #2273 [Verbose] > │ v1.l0 <- v6 │
00:00:26 #2274 [Verbose] > │ () │
00:00:26 #2275 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:26 #2276 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:26 #2277 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2278 [Verbose] > │ while method2(v7, v9) do │
00:00:26 #2279 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:26 #2280 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:26 #2281 [Verbose] > │ let v13 : float = 0.0 │
00:00:26 #2282 [Verbose] > │ let v14 : float = 0.1 │
00:00:26 #2283 [Verbose] > │ let v15 : float = 0.0 │
00:00:26 #2284 [Verbose] > │ let v16 : float = 0.0 │
00:00:26 #2285 [Verbose] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
00:00:26 #2286 [Verbose] > │ v14, v15, v16) │
00:00:26 #2287 [Verbose] > │ let v20 : float = 0.0 │
00:00:26 #2288 [Verbose] > │ let v21 : float = 0.1 │
00:00:26 #2289 [Verbose] > │ let v22 : float = 0.0 │
00:00:26 #2290 [Verbose] > │ let v23 : float = 1.0 │
00:00:26 #2291 [Verbose] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
00:00:26 #2292 [Verbose] > │ v21, v22, v23) │
00:00:26 #2293 [Verbose] > │ let v27 : float = v24 - v17 │
00:00:26 #2294 [Verbose] > │ let v28 : float = v12 / v27 │
00:00:26 #2295 [Verbose] > │ let v29 : float = round v28 │
00:00:26 #2296 [Verbose] > │ let v30 : float = -v29 │
00:00:26 #2297 [Verbose] > │ let v31 : bool = v29 >= v30 │
00:00:26 #2298 [Verbose] > │ let v32 : float = │
00:00:26 #2299 [Verbose] > │ if v31 then │
00:00:26 #2300 [Verbose] > │ v29 │
00:00:26 #2301 [Verbose] > │ else │
00:00:26 #2302 [Verbose] > │ v30 │
00:00:26 #2303 [Verbose] > │ let v33 : float = 0.0 │
00:00:26 #2304 [Verbose] > │ let v34 : float = 0.1 │
00:00:26 #2305 [Verbose] > │ let v35 : float = 0.0 │
00:00:26 #2306 [Verbose] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
00:00:26 #2307 [Verbose] > │ v34, v35, v32) │
00:00:26 #2308 [Verbose] > │ v8.[int v11] <- v38 │
00:00:26 #2309 [Verbose] > │ let v39 : int32 = v11 + 1 │
00:00:26 #2310 [Verbose] > │ v9.l0 <- v39 │
00:00:26 #2311 [Verbose] > │ () │
00:00:26 #2312 [Verbose] > │ let v40 : string = "velocity (m/s)" │
00:00:26 #2313 [Verbose] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:26 #2314 [Verbose] > │ (v40, v0, v8)|] │
00:00:26 #2315 [Verbose] > │ let v42 : string = "ping pong ball on a slinky" │
00:00:26 #2316 [Verbose] > │ let v43 : string = "time (s)" │
00:00:26 #2317 [Verbose] > │ let v44 : string = "" │
00:00:26 #2318 [Verbose] > │ struct (v42, v43, v44, v41) │
00:00:26 #2319 [Verbose] > │ method0() │
00:00:26 #2320 [Verbose] > │ │
00:00:26 #2321 [Verbose] > │ │
00:00:26 #2322 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2323 [Verbose] >
00:00:26 #2324 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:26 #2325 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:26 #2326 [Verbose] > │ ## shift │
00:00:26 #2327 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2328 [Verbose] >
00:00:26 #2329 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2330 [Verbose] > type update_function s = s -> s
00:00:26 #2331 [Verbose] >
00:00:26 #2332 [Verbose] > type differential_equation s ds = s -> ds
00:00:26 #2333 [Verbose] >
00:00:26 #2334 [Verbose] > type numerical_method s ds = differential_equation s ds -> update_function s
00:00:26 #2335 [Verbose] >
00:00:26 #2336 [Verbose] >
00:00:26 #2337 [Verbose] > inl solver method =
00:00:26 #2338 [Verbose] > method >> seq.iterate
00:00:26 #2339 [Verbose] > inl solver' method =
00:00:26 #2340 [Verbose] > method >> seq.iterate'
00:00:26 #2341 [Verbose] > inl solver_ method =
00:00:26 #2342 [Verbose] > method >> seq.iterate_
00:00:26 #2343 [Verbose] >
00:00:26 #2344 [Verbose] >
00:00:26 #2345 [Verbose] > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:00:26 #2346 [Verbose] > inl (rrr (_, _, dvdt)) = deriv t
00:00:26 #2347 [Verbose] > inl t1 = t0 + dt
00:00:26 #2348 [Verbose] > inl v1 = v0 + dvdt * dt
00:00:26 #2349 [Verbose] > inl x1 = x0 + v1 * dt
00:00:26 #2350 [Verbose] > state_1d (t1, x1, v1)
00:00:26 #2351 [Verbose] >
00:00:26 #2352 [Verbose] > inl update_txv_ec dt m fs =
00:00:26 #2353 [Verbose] > euler_cromer_1d dt (newton_second_1d m fs)
00:00:26 #2354 [Verbose] >
00:00:26 #2355 [Verbose] > prototype (+++) ds : ds -> ds -> ds
00:00:26 #2356 [Verbose] > prototype scale ds : f64 -> ds -> ds
00:00:26 #2357 [Verbose] >
00:00:26 #2358 [Verbose] > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1))
00:00:26 #2359 [Verbose] > =>
00:00:26 #2360 [Verbose] > rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1)
00:00:26 #2361 [Verbose] >
00:00:26 #2362 [Verbose] > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) =>
00:00:26 #2363 [Verbose] > rrr (w * dtdt0, w * dxdt0, w * dvdt0)
00:00:26 #2364 [Verbose] >
00:00:26 #2365 [Verbose] > prototype shift s : forall ds. f64 -> ds -> s -> s
00:00:26 #2366 [Verbose] >
00:00:26 #2367 [Verbose] > instance shift state_1d = fun dt ds (state_1d (t, x, v)) =>
00:00:26 #2368 [Verbose] > inl dtdt, dxdt, dvdt =
00:00:26 #2369 [Verbose] > real
00:00:26 #2370 [Verbose] > match ds with
00:00:26 #2371 [Verbose] > | rrr x => x
00:00:26 #2372 [Verbose] > | state_1d x => x
00:00:26 #2373 [Verbose] > state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt)
00:00:26 #2374 [Verbose] >
00:00:26 #2375 [Verbose] > inl euler dt deriv st0 =
00:00:26 #2376 [Verbose] > shift dt (deriv st0) st0
00:00:26 #2377 [Verbose] >
00:00:26 #2378 [Verbose] > inl runge_kutta_4 dt deriv st0 =
00:00:26 #2379 [Verbose] > inl m0 = deriv st0
00:00:26 #2380 [Verbose] > inl m1 = deriv (shift (dt / 2) m0 st0)
00:00:26 #2381 [Verbose] > inl m2 = deriv (shift (dt / 2) m1 st0)
00:00:26 #2382 [Verbose] > inl m3 = deriv (shift dt m2 st0)
00:00:26 #2383 [Verbose] > shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0
00:00:26 #2384 [Verbose] >
00:00:26 #2385 [Verbose] > inl exponential (_, x0, v0) =
00:00:26 #2386 [Verbose] > 1f64, v0, x0
00:00:26 #2387 [Verbose] >
00:00:26 #2388 [Verbose] > inl of_state_1d (state_1d (t, x, v)) =
00:00:26 #2389 [Verbose] > t, x, v
00:00:26 #2390 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5925-2545-2c79941957e9\main.spi
00:00:26 #2391 [Verbose] >
00:00:26 #2392 [Verbose] > ╭─[ 215.43ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2393 [Verbose] > │ () │
00:00:26 #2394 [Verbose] > │ │
00:00:26 #2395 [Verbose] > │ │
00:00:26 #2396 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2397 [Verbose] >
00:00:26 #2398 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2399 [Verbose] > // // test
00:00:26 #2400 [Verbose] >
00:00:26 #2401 [Verbose] > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1,
00:00:26 #2402 [Verbose] > 1)) 800i32
00:00:26 #2403 [Verbose] > |> _equal (state_1d (7.999999999999874, 2864.8311229272326, 2864.8311229272326))
00:00:26 #2404 [Verbose] >
00:00:26 #2405 [Verbose] > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0,
00:00:26 #2406 [Verbose] > 1, 1)) 80i32
00:00:26 #2407 [Verbose] > |> _equal (state_1d (7.999999999999988, 3043.379244966009, 2895.0121485099035))
00:00:26 #2408 [Verbose] >
00:00:26 #2409 [Verbose] > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1,
00:00:26 #2410 [Verbose] > 1)) 8i32
00:00:26 #2411 [Verbose] > |> _equal (state_1d (8.0, 2894.789038540849, 2894.789038540849))
00:00:26 #2412 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5946-4695-463aa0ba1fcc\main.spi
00:00:27 #2413 [Verbose] >
00:00:27 #2414 [Verbose] > ╭─[ 375.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2415 [Verbose] > │ let rec method0 () : unit = │
00:00:27 #2416 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (7.999999999999874, │
00:00:27 #2417 [Verbose] > │ 2864.8311229272326, 2864.8311229272326)} / expected: %A{struct │
00:00:27 #2418 [Verbose] > │ (7.999999999999874, 2864.8311229272326, 2864.8311229272326)}" │
00:00:27 #2419 [Verbose] > │ let v1 : string = $"_equal / actual: %A{struct (7.999999999999988, │
00:00:27 #2420 [Verbose] > │ 3043.379244966009, 2895.0121485099035)} / expected: %A{struct │
00:00:27 #2421 [Verbose] > │ (7.999999999999988, 3043.379244966009, 2895.0121485099035)}" │
00:00:27 #2422 [Verbose] > │ let v2 : string = $"_equal / actual: %A{struct (8.0, 2894.789038540849, │
00:00:27 #2423 [Verbose] > │ 2894.789038540849)} / expected: %A{struct (8.0, 2894.789038540849, │
00:00:27 #2424 [Verbose] > │ 2894.789038540849)}" │
00:00:27 #2425 [Verbose] > │ () │
00:00:27 #2426 [Verbose] > │ method0() │
00:00:27 #2427 [Verbose] > │ │
00:00:27 #2428 [Verbose] > │ │
00:00:27 #2429 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2430 [Verbose] >
00:00:27 #2431 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2432 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2433 [Verbose] > │ ## vec │
00:00:27 #2434 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2435 [Verbose] >
00:00:27 #2436 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2437 [Verbose] > type vec =
00:00:27 #2438 [Verbose] > {
00:00:27 #2439 [Verbose] > x : f64
00:00:27 #2440 [Verbose] > y : f64
00:00:27 #2441 [Verbose] > z : f64
00:00:27 #2442 [Verbose] > }
00:00:27 #2443 [Verbose] >
00:00:27 #2444 [Verbose] > inl vec x y z : vec =
00:00:27 #2445 [Verbose] > { x y z }
00:00:27 #2446 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5985-8531-81e0f44e5892\main.spi
00:00:27 #2447 [Verbose] >
00:00:27 #2448 [Verbose] > ╭─[ 418.46ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2449 [Verbose] > │ () │
00:00:27 #2450 [Verbose] > │ │
00:00:27 #2451 [Verbose] > │ │
00:00:27 #2452 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2453 [Verbose] >
00:00:27 #2454 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2455 [Verbose] > // // test
00:00:27 #2456 [Verbose] >
00:00:27 #2457 [Verbose] > vec 1 2 3 .z
00:00:27 #2458 [Verbose] > |> _equal 3
00:00:27 #2459 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0027-2732-2ad05b4b84bd\main.spi
00:00:27 #2460 [Verbose] >
00:00:27 #2461 [Verbose] > ╭─[ 175.86ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2462 [Verbose] > │ let rec method0 () : unit = │
00:00:27 #2463 [Verbose] > │ let v0 : string = $"_equal / actual: %A{3.0} / expected: %A{3.0}" │
00:00:27 #2464 [Verbose] > │ () │
00:00:27 #2465 [Verbose] > │ method0() │
00:00:27 #2466 [Verbose] > │ │
00:00:27 #2467 [Verbose] > │ │
00:00:27 #2468 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2469 [Verbose] >
00:00:27 #2470 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2471 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2472 [Verbose] > │ ### consts │
00:00:27 #2473 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2474 [Verbose] >
00:00:27 #2475 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2476 [Verbose] > inl i_hat () = vec 1 0 0
00:00:27 #2477 [Verbose] > inl j_hat () = vec 0 1 0
00:00:27 #2478 [Verbose] > inl k_hat () = vec 0 0 1
00:00:27 #2479 [Verbose] > inl zero_vec () = vec 0 0 0
00:00:27 #2480 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0045-4549-4eb6bb07a8b7\main.spi
00:00:27 #2481 [Verbose] >
00:00:27 #2482 [Verbose] > ╭─[ 197.32ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2483 [Verbose] > │ () │
00:00:27 #2484 [Verbose] > │ │
00:00:27 #2485 [Verbose] > │ │
00:00:27 #2486 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2487 [Verbose] >
00:00:27 #2488 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2489 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2490 [Verbose] > │ ### ^+^ │
00:00:27 #2491 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2492 [Verbose] >
00:00:27 #2493 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2494 [Verbose] > inl (^+^) (a : vec) (b : vec) =
00:00:27 #2495 [Verbose] > vec (a.x + b.x) (a.y + b.y) (a.z + b.z)
00:00:28 #2496 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0066-6627-608c12436142\main.spi
00:00:28 #2497 [Verbose] >
00:00:28 #2498 [Verbose] > ╭─[ 177.93ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2499 [Verbose] > │ () │
00:00:28 #2500 [Verbose] > │ │
00:00:28 #2501 [Verbose] > │ │
00:00:28 #2502 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2503 [Verbose] >
00:00:28 #2504 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2505 [Verbose] > // // test
00:00:28 #2506 [Verbose] >
00:00:28 #2507 [Verbose] > vec 1 2 3 ^+^ vec 4 5 6
00:00:28 #2508 [Verbose] > |> _equal (vec 5 7 9)
00:00:28 #2509 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0084-8426-8f6fd46f02df\main.spi
00:00:28 #2510 [Verbose] >
00:00:28 #2511 [Verbose] > ╭─[ 172.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2512 [Verbose] > │ let rec method0 () : unit = │
00:00:28 #2513 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
00:00:28 #2514 [Verbose] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
00:00:28 #2515 [Verbose] > │ () │
00:00:28 #2516 [Verbose] > │ method0() │
00:00:28 #2517 [Verbose] > │ │
00:00:28 #2518 [Verbose] > │ │
00:00:28 #2519 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2520 [Verbose] >
00:00:28 #2521 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 #2522 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 #2523 [Verbose] > │ ### sum_vec │
00:00:28 #2524 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2525 [Verbose] >
00:00:28 #2526 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2527 [Verbose] > inl sum_vec vs =
00:00:28 #2528 [Verbose] > vs |> listm.fold (^+^) (zero_vec ())
00:00:28 #2529 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0102-0224-0f108f9f474b\main.spi
00:00:28 #2530 [Verbose] >
00:00:28 #2531 [Verbose] > ╭─[ 210.16ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2532 [Verbose] > │ () │
00:00:28 #2533 [Verbose] > │ │
00:00:28 #2534 [Verbose] > │ │
00:00:28 #2535 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2536 [Verbose] >
00:00:28 #2537 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2538 [Verbose] > // // test
00:00:28 #2539 [Verbose] >
00:00:28 #2540 [Verbose] > [[ vec 1 2 3; vec 4 5 6 ]]
00:00:28 #2541 [Verbose] > |> sum_vec
00:00:28 #2542 [Verbose] > |> _equal (vec 5 7 9)
00:00:28 #2543 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0123-2341-2d671f15c581\main.spi
00:00:28 #2544 [Verbose] >
00:00:28 #2545 [Verbose] > ╭─[ 173.40ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2546 [Verbose] > │ let rec method0 () : unit = │
00:00:28 #2547 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
00:00:28 #2548 [Verbose] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
00:00:28 #2549 [Verbose] > │ () │
00:00:28 #2550 [Verbose] > │ method0() │
00:00:28 #2551 [Verbose] > │ │
00:00:28 #2552 [Verbose] > │ │
00:00:28 #2553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2554 [Verbose] >
00:00:28 #2555 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 #2556 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 #2557 [Verbose] > │ ### *^ │
00:00:28 #2558 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2559 [Verbose] >
00:00:28 #2560 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2561 [Verbose] > inl (*^) c { x y z } =
00:00:28 #2562 [Verbose] > vec (c * x) (c * y) (c * z)
00:00:28 #2563 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0141-4152-47fbb4358ce4\main.spi
00:00:28 #2564 [Verbose] >
00:00:28 #2565 [Verbose] > ╭─[ 198.19ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2566 [Verbose] > │ () │
00:00:28 #2567 [Verbose] > │ │
00:00:28 #2568 [Verbose] > │ │
00:00:28 #2569 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2570 [Verbose] >
00:00:28 #2571 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2572 [Verbose] > // // test
00:00:28 #2573 [Verbose] >
00:00:28 #2574 [Verbose] > 5 *^ vec 1 2 3
00:00:28 #2575 [Verbose] > |> _equal (vec 5 10 15)
00:00:29 #2576 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0161-6152-6b0552645a2d\main.spi
00:00:29 #2577 [Verbose] >
00:00:29 #2578 [Verbose] > ╭─[ 173.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2579 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2580 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
00:00:29 #2581 [Verbose] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
00:00:29 #2582 [Verbose] > │ () │
00:00:29 #2583 [Verbose] > │ method0() │
00:00:29 #2584 [Verbose] > │ │
00:00:29 #2585 [Verbose] > │ │
00:00:29 #2586 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2587 [Verbose] >
00:00:29 #2588 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2589 [Verbose] > // // test
00:00:29 #2590 [Verbose] >
00:00:29 #2591 [Verbose] > 3 *^ i_hat () ^+^ 4 *^ k_hat ()
00:00:29 #2592 [Verbose] > |> _equal (vec 3 0 4)
00:00:29 #2593 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0179-7922-7d937645448a\main.spi
00:00:29 #2594 [Verbose] >
00:00:29 #2595 [Verbose] > ╭─[ 223.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2596 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2597 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (3.0, 0.0, 4.0)} / │
00:00:29 #2598 [Verbose] > │ expected: %A{struct (3.0, 0.0, 4.0)}" │
00:00:29 #2599 [Verbose] > │ () │
00:00:29 #2600 [Verbose] > │ method0() │
00:00:29 #2601 [Verbose] > │ │
00:00:29 #2602 [Verbose] > │ │
00:00:29 #2603 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2604 [Verbose] >
00:00:29 #2605 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 #2606 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 #2607 [Verbose] > │ ### ^* │
00:00:29 #2608 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2609 [Verbose] >
00:00:29 #2610 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2611 [Verbose] > inl (^*) v c =
00:00:29 #2612 [Verbose] > (*^) c v
00:00:29 #2613 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0202-0241-0cb0d1470856\main.spi
00:00:29 #2614 [Verbose] >
00:00:29 #2615 [Verbose] > ╭─[ 173.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2616 [Verbose] > │ () │
00:00:29 #2617 [Verbose] > │ │
00:00:29 #2618 [Verbose] > │ │
00:00:29 #2619 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2620 [Verbose] >
00:00:29 #2621 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2622 [Verbose] > // // test
00:00:29 #2623 [Verbose] >
00:00:29 #2624 [Verbose] > vec 1 2 3 ^* 5
00:00:29 #2625 [Verbose] > |> _equal (vec 5 10 15)
00:00:29 #2626 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0219-1988-1d5d37fdbe22\main.spi
00:00:29 #2627 [Verbose] >
00:00:29 #2628 [Verbose] > ╭─[ 179.27ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2629 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2630 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
00:00:29 #2631 [Verbose] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
00:00:29 #2632 [Verbose] > │ () │
00:00:29 #2633 [Verbose] > │ method0() │
00:00:29 #2634 [Verbose] > │ │
00:00:29 #2635 [Verbose] > │ │
00:00:29 #2636 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2637 [Verbose] >
00:00:29 #2638 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 #2639 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 #2640 [Verbose] > │ ### ^/ │
00:00:29 #2641 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2642 [Verbose] >
00:00:29 #2643 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2644 [Verbose] > inl (^/) { x y z } c =
00:00:29 #2645 [Verbose] > vec (x / c) (y / c) (z / c)
00:00:29 #2646 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0238-3858-348e4ed152df\main.spi
00:00:29 #2647 [Verbose] >
00:00:29 #2648 [Verbose] > ╭─[ 225.27ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2649 [Verbose] > │ () │
00:00:29 #2650 [Verbose] > │ │
00:00:29 #2651 [Verbose] > │ │
00:00:29 #2652 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2653 [Verbose] >
00:00:29 #2654 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2655 [Verbose] > // // test
00:00:29 #2656 [Verbose] >
00:00:29 #2657 [Verbose] > vec 1 2 3 ^/ 5
00:00:29 #2658 [Verbose] > |> _equal (vec 0.2 0.4 0.6)
00:00:30 #2659 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0261-6131-633bc2b1a22d\main.spi
00:00:30 #2660 [Verbose] >
00:00:30 #2661 [Verbose] > ╭─[ 221.34ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2662 [Verbose] > │ let rec method0 () : unit = │
00:00:30 #2663 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (0.2, 0.4, 0.6)} / │
00:00:30 #2664 [Verbose] > │ expected: %A{struct (0.2, 0.4, 0.6)}" │
00:00:30 #2665 [Verbose] > │ () │
00:00:30 #2666 [Verbose] > │ method0() │
00:00:30 #2667 [Verbose] > │ │
00:00:30 #2668 [Verbose] > │ │
00:00:30 #2669 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2670 [Verbose] >
00:00:30 #2671 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 #2672 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 #2673 [Verbose] > │ ### negate_vec │
00:00:30 #2674 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2675 [Verbose] >
00:00:30 #2676 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2677 [Verbose] > inl negate_vec v =
00:00:30 #2678 [Verbose] > v ^* -1
00:00:30 #2679 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0284-8420-848113506e27\main.spi
00:00:30 #2680 [Verbose] >
00:00:30 #2681 [Verbose] > ╭─[ 177.07ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2682 [Verbose] > │ () │
00:00:30 #2683 [Verbose] > │ │
00:00:30 #2684 [Verbose] > │ │
00:00:30 #2685 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2686 [Verbose] >
00:00:30 #2687 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2688 [Verbose] > // // test
00:00:30 #2689 [Verbose] >
00:00:30 #2690 [Verbose] > vec 1 2 3
00:00:30 #2691 [Verbose] > |> negate_vec
00:00:30 #2692 [Verbose] > |> _equal (vec -1 -2 -3)
00:00:30 #2693 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0302-0212-0253a3e62119\main.spi
00:00:30 #2694 [Verbose] >
00:00:30 #2695 [Verbose] > ╭─[ 277.12ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2696 [Verbose] > │ let rec method0 () : unit = │
00:00:30 #2697 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-1.0, -2.0, -3.0)} / │
00:00:30 #2698 [Verbose] > │ expected: %A{struct (-1.0, -2.0, -3.0)}" │
00:00:30 #2699 [Verbose] > │ () │
00:00:30 #2700 [Verbose] > │ method0() │
00:00:30 #2701 [Verbose] > │ │
00:00:30 #2702 [Verbose] > │ │
00:00:30 #2703 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2704 [Verbose] >
00:00:30 #2705 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 #2706 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 #2707 [Verbose] > │ ### ^-^ │
00:00:30 #2708 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2709 [Verbose] >
00:00:30 #2710 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2711 [Verbose] > inl (^-^) a b =
00:00:30 #2712 [Verbose] > a ^+^ (negate_vec b)
00:00:30 #2713 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0330-3052-35af29db7caa\main.spi
00:00:30 #2714 [Verbose] >
00:00:30 #2715 [Verbose] > ╭─[ 203.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2716 [Verbose] > │ () │
00:00:30 #2717 [Verbose] > │ │
00:00:30 #2718 [Verbose] > │ │
00:00:30 #2719 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2720 [Verbose] >
00:00:30 #2721 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2722 [Verbose] > // // test
00:00:30 #2723 [Verbose] >
00:00:30 #2724 [Verbose] > vec 1 2 3 ^-^ vec 4 5 6
00:00:30 #2725 [Verbose] > |> _equal (vec -3 -3 -3)
00:00:30 #2726 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0351-5103-5d428cf7d22a\main.spi
00:00:31 #2727 [Verbose] >
00:00:31 #2728 [Verbose] > ╭─[ 190.07ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2729 [Verbose] > │ let rec method0 () : unit = │
00:00:31 #2730 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, -3.0, -3.0)} / │
00:00:31 #2731 [Verbose] > │ expected: %A{struct (-3.0, -3.0, -3.0)}" │
00:00:31 #2732 [Verbose] > │ () │
00:00:31 #2733 [Verbose] > │ method0() │
00:00:31 #2734 [Verbose] > │ │
00:00:31 #2735 [Verbose] > │ │
00:00:31 #2736 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2737 [Verbose] >
00:00:31 #2738 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 #2739 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 #2740 [Verbose] > │ ### <.> │
00:00:31 #2741 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2742 [Verbose] >
00:00:31 #2743 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2744 [Verbose] > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } =
00:00:31 #2745 [Verbose] > ax * bx + ay * by + az * bz
00:00:31 #2746 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0370-7058-776c48de3e52\main.spi
00:00:31 #2747 [Verbose] >
00:00:31 #2748 [Verbose] > ╭─[ 404.01ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2749 [Verbose] > │ () │
00:00:31 #2750 [Verbose] > │ │
00:00:31 #2751 [Verbose] > │ │
00:00:31 #2752 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2753 [Verbose] >
00:00:31 #2754 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2755 [Verbose] > // // test
00:00:31 #2756 [Verbose] >
00:00:31 #2757 [Verbose] > vec 1 2 3 <.> vec 4 5 6
00:00:31 #2758 [Verbose] > |> _equal 32
00:00:31 #2759 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0411-1124-1d63a7739f9f\main.spi
00:00:31 #2760 [Verbose] >
00:00:31 #2761 [Verbose] > ╭─[ 191.19ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2762 [Verbose] > │ let rec method0 () : unit = │
00:00:31 #2763 [Verbose] > │ let v0 : string = $"_equal / actual: %A{32.0} / expected: %A{32.0}" │
00:00:31 #2764 [Verbose] > │ () │
00:00:31 #2765 [Verbose] > │ method0() │
00:00:31 #2766 [Verbose] > │ │
00:00:31 #2767 [Verbose] > │ │
00:00:31 #2768 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2769 [Verbose] >
00:00:31 #2770 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 #2771 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 #2772 [Verbose] > │ ### \>\< │
00:00:31 #2773 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2774 [Verbose] >
00:00:31 #2775 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2776 [Verbose] > inl (><) (a : vec) (b : vec) =
00:00:31 #2777 [Verbose] > vec
00:00:31 #2778 [Verbose] > (a.y * b.z - a.z * b.y)
00:00:31 #2779 [Verbose] > (a.z * b.x - a.x * b.z)
00:00:31 #2780 [Verbose] > (a.x * b.y - a.y * b.x)
00:00:31 #2781 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0431-3146-371425e2c875\main.spi
00:00:31 #2782 [Verbose] >
00:00:31 #2783 [Verbose] > ╭─[ 175.26ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2784 [Verbose] > │ () │
00:00:31 #2785 [Verbose] > │ │
00:00:31 #2786 [Verbose] > │ │
00:00:31 #2787 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2788 [Verbose] >
00:00:31 #2789 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2790 [Verbose] > // // test
00:00:31 #2791 [Verbose] >
00:00:31 #2792 [Verbose] > vec 1 2 3 >< vec 4 5 6
00:00:31 #2793 [Verbose] > |> _equal (vec -3 6 -3)
00:00:31 #2794 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0448-4894-433c50c59e86\main.spi
00:00:32 #2795 [Verbose] >
00:00:32 #2796 [Verbose] > ╭─[ 187.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2797 [Verbose] > │ let rec method0 () : unit = │
00:00:32 #2798 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, 6.0, -3.0)} / │
00:00:32 #2799 [Verbose] > │ expected: %A{struct (-3.0, 6.0, -3.0)}" │
00:00:32 #2800 [Verbose] > │ () │
00:00:32 #2801 [Verbose] > │ method0() │
00:00:32 #2802 [Verbose] > │ │
00:00:32 #2803 [Verbose] > │ │
00:00:32 #2804 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2805 [Verbose] >
00:00:32 #2806 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:32 #2807 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:32 #2808 [Verbose] > │ ### magnitude │
00:00:32 #2809 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2810 [Verbose] >
00:00:32 #2811 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2812 [Verbose] > inl magnitude v =
00:00:32 #2813 [Verbose] > v <.> v |> sqrt
00:00:32 #2814 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0468-6823-671dfc6e0a4f\main.spi
00:00:32 #2815 [Verbose] >
00:00:32 #2816 [Verbose] > ╭─[ 211.42ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2817 [Verbose] > │ () │
00:00:32 #2818 [Verbose] > │ │
00:00:32 #2819 [Verbose] > │ │
00:00:32 #2820 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2821 [Verbose] >
00:00:32 #2822 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2823 [Verbose] > // // test
00:00:32 #2824 [Verbose] >
00:00:32 #2825 [Verbose] > vec 1 2 3
00:00:32 #2826 [Verbose] > |> magnitude
00:00:32 #2827 [Verbose] > |> _almost_equal 3.7416573867739413
00:00:32 #2828 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0489-8969-875e62590a7d\main.spi
00:00:32 #2829 [Verbose] >
00:00:32 #2830 [Verbose] > ╭─[ 238.09ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2831 [Verbose] > │ let rec method0 () : unit = │
00:00:32 #2832 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{3.7416573867739413} / │
00:00:32 #2833 [Verbose] > │ expected: %A{3.7416573867739413}" │
00:00:32 #2834 [Verbose] > │ () │
00:00:32 #2835 [Verbose] > │ method0() │
00:00:32 #2836 [Verbose] > │ │
00:00:32 #2837 [Verbose] > │ │
00:00:32 #2838 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2839 [Verbose] >
00:00:32 #2840 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:32 #2841 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:32 #2842 [Verbose] > │ ### v1 │
00:00:32 #2843 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2844 [Verbose] >
00:00:32 #2845 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2846 [Verbose] > inl v1 t =
00:00:32 #2847 [Verbose] > 2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat
00:00:32 #2848 [Verbose] > ()))
00:00:32 #2849 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0514-1449-13cf97b07d18\main.spi
00:00:32 #2850 [Verbose] >
00:00:32 #2851 [Verbose] > ╭─[ 152.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2852 [Verbose] > │ () │
00:00:32 #2853 [Verbose] > │ │
00:00:32 #2854 [Verbose] > │ │
00:00:32 #2855 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2856 [Verbose] >
00:00:32 #2857 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2858 [Verbose] > // // test
00:00:32 #2859 [Verbose] >
00:00:32 #2860 [Verbose] > v1 1
00:00:32 #2861 [Verbose] > |> _equal (vec 2 6 6)
00:00:32 #2862 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0529-2988-2437ca91c340\main.spi
00:00:32 #2863 [Verbose] >
00:00:32 #2864 [Verbose] > ╭─[ 200.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2865 [Verbose] > │ let rec method0 () : unit = │
00:00:32 #2866 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (2.0, 6.0, 6.0)} / │
00:00:32 #2867 [Verbose] > │ expected: %A{struct (2.0, 6.0, 6.0)}" │
00:00:32 #2868 [Verbose] > │ () │
00:00:32 #2869 [Verbose] > │ method0() │
00:00:32 #2870 [Verbose] > │ │
00:00:32 #2871 [Verbose] > │ │
00:00:32 #2872 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2873 [Verbose] >
00:00:32 #2874 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:32 #2875 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:32 #2876 [Verbose] > │ ### vec_derivative │
00:00:32 #2877 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2878 [Verbose] >
00:00:32 #2879 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2880 [Verbose] > type vec_derivative = (f64 -> vec) -> f64 -> vec
00:00:32 #2881 [Verbose] >
00:00:32 #2882 [Verbose] > inl vec_derivative dt : vec_derivative =
00:00:32 #2883 [Verbose] > fun v t =>
00:00:32 #2884 [Verbose] > (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt
00:00:32 #2885 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0550-5062-59418fc4724e\main.spi
00:00:32 #2886 [Verbose] >
00:00:32 #2887 [Verbose] > ╭─[ 154.36ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2888 [Verbose] > │ () │
00:00:32 #2889 [Verbose] > │ │
00:00:32 #2890 [Verbose] > │ │
00:00:32 #2891 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2892 [Verbose] >
00:00:32 #2893 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2894 [Verbose] > // // test
00:00:32 #2895 [Verbose] >
00:00:32 #2896 [Verbose] > vec_derivative 0.01 v1 3 .x
00:00:32 #2897 [Verbose] > |> _almost_equal (derivative 0.01 (v1 >> fun v => v.x) 3)
00:00:33 #2898 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0566-6625-684939070040\main.spi
00:00:33 #2899 [Verbose] >
00:00:33 #2900 [Verbose] > ╭─[ 155.73ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #2901 [Verbose] > │ let rec method0 () : unit = │
00:00:33 #2902 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{11.999999999999744} / │
00:00:33 #2903 [Verbose] > │ expected: %A{11.999999999999744}" │
00:00:33 #2904 [Verbose] > │ () │
00:00:33 #2905 [Verbose] > │ method0() │
00:00:33 #2906 [Verbose] > │ │
00:00:33 #2907 [Verbose] > │ │
00:00:33 #2908 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #2909 [Verbose] >
00:00:33 #2910 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:33 #2911 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:33 #2912 [Verbose] > │ ## states_ps │
00:00:33 #2913 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #2914 [Verbose] >
00:00:33 #2915 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #2916 [Verbose] > nominal particle_state =
00:00:33 #2917 [Verbose] > {
00:00:33 #2918 [Verbose] > mass : f64
00:00:33 #2919 [Verbose] > charge : f64
00:00:33 #2920 [Verbose] > time : f64
00:00:33 #2921 [Verbose] > pos_vec : vec
00:00:33 #2922 [Verbose] > velocity : vec
00:00:33 #2923 [Verbose] > }
00:00:33 #2924 [Verbose] >
00:00:33 #2925 [Verbose] > inl default_particle_state () : particle_state =
00:00:33 #2926 [Verbose] > particle_state {
00:00:33 #2927 [Verbose] > mass = 1
00:00:33 #2928 [Verbose] > charge = 0
00:00:33 #2929 [Verbose] > time = 0
00:00:33 #2930 [Verbose] > pos_vec = zero_vec ()
00:00:33 #2931 [Verbose] > velocity = zero_vec ()
00:00:33 #2932 [Verbose] > }
00:00:33 #2933 [Verbose] >
00:00:33 #2934 [Verbose] > type one_body_force = particle_state -> vec
00:00:33 #2935 [Verbose] >
00:00:33 #2936 [Verbose] > nominal d_particle_state =
00:00:33 #2937 [Verbose] > {
00:00:33 #2938 [Verbose] > dmdt : f64
00:00:33 #2939 [Verbose] > dqdt : f64
00:00:33 #2940 [Verbose] > dtdt : f64
00:00:33 #2941 [Verbose] > drdt : vec
00:00:33 #2942 [Verbose] > dvdt : vec
00:00:33 #2943 [Verbose] > }
00:00:33 #2944 [Verbose] >
00:00:33 #2945 [Verbose] > inl newton_second_ps (fs : list one_body_force) (st : particle_state) :
00:00:33 #2946 [Verbose] > d_particle_state =
00:00:33 #2947 [Verbose] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:00:33 #2948 [Verbose] > d_particle_state {
00:00:33 #2949 [Verbose] > dmdt = 0
00:00:33 #2950 [Verbose] > dqdt = 0
00:00:33 #2951 [Verbose] > dtdt = 1
00:00:33 #2952 [Verbose] > drdt = st.velocity
00:00:33 #2953 [Verbose] > dvdt = f_net ^/ st.mass
00:00:33 #2954 [Verbose] > }
00:00:33 #2955 [Verbose] >
00:00:33 #2956 [Verbose] > inl earth_surface_gravity (st : particle_state) =
00:00:33 #2957 [Verbose] > inl g = 9.80665
00:00:33 #2958 [Verbose] > -st.mass * g *^ k_hat ()
00:00:33 #2959 [Verbose] >
00:00:33 #2960 [Verbose] > inl air_resistance drag rho area (st : particle_state) =
00:00:33 #2961 [Verbose] > -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity
00:00:33 #2962 [Verbose] >
00:00:33 #2963 [Verbose] > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state)
00:00:33 #2964 [Verbose] > (particle_state st) =
00:00:33 #2965 [Verbose] > inl dst : d_particle_state = deriv (particle_state st)
00:00:33 #2966 [Verbose] > inl v' = st.velocity ^+^ dst.dvdt ^* dt
00:00:33 #2967 [Verbose] > particle_state { st with
00:00:33 #2968 [Verbose] > time = st.time + dt
00:00:33 #2969 [Verbose] > pos_vec = st.pos_vec ^+^ v' ^* dt
00:00:33 #2970 [Verbose] > velocity = st.velocity ^+^ dst.dvdt ^* dt
00:00:33 #2971 [Verbose] > }
00:00:33 #2972 [Verbose] >
00:00:33 #2973 [Verbose] > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' :
00:00:33 #2974 [Verbose] > d_particle_state) =>
00:00:33 #2975 [Verbose] > d_particle_state {
00:00:33 #2976 [Verbose] > dmdt = dps.dmdt + dps'.dmdt
00:00:33 #2977 [Verbose] > dqdt = dps.dqdt + dps'.dqdt
00:00:33 #2978 [Verbose] > dtdt = dps.dtdt + dps'.dtdt
00:00:33 #2979 [Verbose] > drdt = dps.drdt ^+^ dps'.drdt
00:00:33 #2980 [Verbose] > dvdt = dps.dvdt ^+^ dps'.dvdt
00:00:33 #2981 [Verbose] > }
00:00:33 #2982 [Verbose] >
00:00:33 #2983 [Verbose] > instance scale d_particle_state = fun w (dps : d_particle_state) =>
00:00:33 #2984 [Verbose] > d_particle_state {
00:00:33 #2985 [Verbose] > dmdt = w * dps.dmdt
00:00:33 #2986 [Verbose] > dqdt = w * dps.dqdt
00:00:33 #2987 [Verbose] > dtdt = w * dps.dtdt
00:00:33 #2988 [Verbose] > drdt = w *^ dps.drdt
00:00:33 #2989 [Verbose] > dvdt = w *^ dps.dvdt
00:00:33 #2990 [Verbose] > }
00:00:33 #2991 [Verbose] >
00:00:33 #2992 [Verbose] > instance shift particle_state = fun dt dps (particle_state st) =>
00:00:33 #2993 [Verbose] > inl (d_particle_state dps) =
00:00:33 #2994 [Verbose] > real
00:00:33 #2995 [Verbose] > match dps with
00:00:33 #2996 [Verbose] > | d_particle_state _ => dps
00:00:33 #2997 [Verbose] > particle_state { st with
00:00:33 #2998 [Verbose] > time = st.time + dps.dtdt * dt
00:00:33 #2999 [Verbose] > pos_vec = st.pos_vec ^+^ dps.drdt ^* dt
00:00:33 #3000 [Verbose] > velocity = st.velocity ^+^ dps.dvdt ^* dt
00:00:33 #3001 [Verbose] > }
00:00:33 #3002 [Verbose] >
00:00:33 #3003 [Verbose] > inl states_ps (method : numerical_method particle_state d_particle_state) : _ ->
00:00:33 #3004 [Verbose] > _ -> i32 -> particle_state =
00:00:33 #3005 [Verbose] > newton_second_ps >> method >> seq.iterate_
00:00:33 #3006 [Verbose] >
00:00:33 #3007 [Verbose] > inl z_ge0 sts =
00:00:33 #3008 [Verbose] > sts
00:00:33 #3009 [Verbose] > |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0)
00:00:33 #3010 [Verbose] >
00:00:33 #3011 [Verbose] > inl trajectory sts =
00:00:33 #3012 [Verbose] > sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z)
00:00:33 #3013 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0582-8237-8ae531c6e1b1\main.spi
00:00:33 #3014 [Verbose] >
00:00:33 #3015 [Verbose] > ╭─[ 210.69ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #3016 [Verbose] > │ () │
00:00:33 #3017 [Verbose] > │ │
00:00:33 #3018 [Verbose] > │ │
00:00:33 #3019 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #3020 [Verbose] >
00:00:33 #3021 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #3022 [Verbose] > // // test
00:00:33 #3023 [Verbose] >
00:00:33 #3024 [Verbose] > inl update_ps (method : numerical_method particle_state d_particle_state) =
00:00:33 #3025 [Verbose] > newton_second_ps >> method
00:00:33 #3026 [Verbose] >
00:00:33 #3027 [Verbose] > inl position_ps (method : numerical_method particle_state d_particle_state) fs
00:00:33 #3028 [Verbose] > st t =
00:00:33 #3029 [Verbose] > inl states : i32 -> particle_state = states_ps method fs st
00:00:33 #3030 [Verbose] > inl dt = (states 1).time - (states 0).time
00:00:33 #3031 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:33 #3032 [Verbose] > inl st1 = solver' method (newton_second_ps fs) st num_steps
00:00:33 #3033 [Verbose] > st1.pos_vec
00:00:33 #3034 [Verbose] >
00:00:33 #3035 [Verbose] > inl sun_gravity (st : particle_state) : vec =
00:00:33 #3036 [Verbose] > inl big_g = 0.0000000000667408
00:00:33 #3037 [Verbose] > inl sun_mass = 1988480000000000000000000000000
00:00:33 #3038 [Verbose] > -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3
00:00:33 #3039 [Verbose] >
00:00:33 #3040 [Verbose] > inl wind_force v_wind drag rho area (st : particle_state) =
00:00:33 #3041 [Verbose] > inl v_rel = st.velocity ^-^ v_wind
00:00:33 #3042 [Verbose] > -0.5 * drag * rho * area * magnitude v_rel *^ v_rel
00:00:33 #3043 [Verbose] >
00:00:33 #3044 [Verbose] > inl rock_state () =
00:00:33 #3045 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:33 #3046 [Verbose] > particle_state { default_particle_state' with
00:00:33 #3047 [Verbose] > mass = 2
00:00:33 #3048 [Verbose] > velocity = vec 3 0 4
00:00:33 #3049 [Verbose] > }
00:00:33 #3050 [Verbose] >
00:00:33 #3051 [Verbose] > inl halley_update dt =
00:00:33 #3052 [Verbose] > update_ps (euler_cromer_ps dt) [[ sun_gravity ]]
00:00:33 #3053 [Verbose] >
00:00:33 #3054 [Verbose] > inl halley_initial () =
00:00:33 #3055 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:33 #3056 [Verbose] > particle_state { default_particle_state' with
00:00:33 #3057 [Verbose] > mass = 220000000000000
00:00:33 #3058 [Verbose] > pos_vec = 87660000000 *^ i_hat ()
00:00:33 #3059 [Verbose] > velocity = 54569 *^ j_hat ()
00:00:33 #3060 [Verbose] > }
00:00:33 #3061 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0603-0387-00a0729da25d\main.spi
00:00:33 #3062 [Verbose] >
00:00:33 #3063 [Verbose] > ╭─[ 167.68ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #3064 [Verbose] > │ () │
00:00:33 #3065 [Verbose] > │ │
00:00:33 #3066 [Verbose] > │ │
00:00:33 #3067 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #3068 [Verbose] >
00:00:33 #3069 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #3070 [Verbose] > // // test
00:00:33 #3071 [Verbose] >
00:00:33 #3072 [Verbose] > inl baseball_forces () =
00:00:33 #3073 [Verbose] > inl area = pi * (0.074 / 2) ** 2
00:00:33 #3074 [Verbose] > [[
00:00:33 #3075 [Verbose] > earth_surface_gravity
00:00:33 #3076 [Verbose] > air_resistance 0.3 1.225 area
00:00:33 #3077 [Verbose] > ]]
00:00:33 #3078 [Verbose] >
00:00:33 #3079 [Verbose] > inl baseball_trajectory dt v0 theta_deg =
00:00:33 #3080 [Verbose] > inl theta_rad = theta_deg * pi / 180
00:00:33 #3081 [Verbose] > inl vy0 = v0 * cos theta_rad
00:00:33 #3082 [Verbose] > inl vz0 = v0 * sin theta_rad
00:00:33 #3083 [Verbose] > inl initial_state =
00:00:33 #3084 [Verbose] > particle_state {
00:00:33 #3085 [Verbose] > mass = 0.145
00:00:33 #3086 [Verbose] > charge = 0
00:00:33 #3087 [Verbose] > time = 0
00:00:33 #3088 [Verbose] > pos_vec = zero_vec ()
00:00:33 #3089 [Verbose] > velocity = vec 0 vy0 vz0
00:00:33 #3090 [Verbose] > }
00:00:33 #3091 [Verbose] > states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state
00:00:33 #3092 [Verbose] > >> Some
00:00:33 #3093 [Verbose] > |> z_ge0
00:00:33 #3094 [Verbose] > |> trajectory
00:00:33 #3095 [Verbose] >
00:00:33 #3096 [Verbose] > inl baseball_range dt v0 theta_deg =
00:00:33 #3097 [Verbose] > baseball_trajectory dt v0 theta_deg
00:00:33 #3098 [Verbose] > |> listm.fold (fun _ (y, _) => y) 0
00:00:33 #3099 [Verbose] >
00:00:33 #3100 [Verbose] > inl x : a _ f64 = am'.init_series 10 80 1
00:00:33 #3101 [Verbose] > inl y = x |> am.map (baseball_range 0.01 45)
00:00:33 #3102 [Verbose] > "range for a baseball hit at 45 m/s",
00:00:33 #3103 [Verbose] > "angle above horizontal (degrees)",
00:00:33 #3104 [Verbose] > "",
00:00:33 #3105 [Verbose] > ;[[ "horizontal range (m)", x, y ]]
00:00:33 #3106 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0620-2065-26440f77b90c\main.spi
00:00:34 #3107 [Verbose] >
00:00:34 #3108 [Verbose] > ╭─[ 984.06ms - return value ]──────────────────────────────────────────────────╮
00:00:34 #3109 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:34 #3110 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:34 #3111 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:34 #3112 [Verbose] > │ stroke="none"/> │
00:00:34 #3113 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:34 #3114 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:34 #3115 [Verbose] > │ fill="#FFFFFF"> │
00:00:34 #3116 [Verbose] > │ range for a baseball hit at 45 m/s │
00:00:34 #3117 [Verbose] > │ </text> │
00:00:34 #3118 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │
00:00:34 #3119 [Verbose] > │ y2="75"/> │
00:00:34 #3120 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:00:34 #3121 [Verbose] > │ y2="75"/> │
00:00:34 #3122 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:34 #3123 [Verbose] > │ y2="75"/> │
00:00:34 #3124 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:00:34 #3125 [Verbose] > │ y2="75"/> │
00:00:34 #3126 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="... │
00:00:34 #3127 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 #3128 [Verbose] >
00:00:34 #3129 [Verbose] > ╭─[ 993.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:34 #3130 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:34 #3131 [Verbose] > │ and UH0 = │
00:00:34 #3132 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:34 #3133 [Verbose] > │ * float * UH0 │
00:00:34 #3134 [Verbose] > │ | UH0_1 │
00:00:34 #3135 [Verbose] > │ and UH1 = │
00:00:34 #3136 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:34 #3137 [Verbose] > │ | UH1_1 │
00:00:34 #3138 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:34 #3139 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:34 #3140 [Verbose] > │ let v2 : bool = v1 < 71 │
00:00:34 #3141 [Verbose] > │ v2 │
00:00:34 #3142 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:34 #3143 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:34 #3144 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:34 #3145 [Verbose] > │ v3 │
00:00:34 #3146 [Verbose] > │ and method4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
00:00:34 #3147 [Verbose] > │ : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float * │
00:00:34 #3148 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:34 #3149 [Verbose] > │ let v10 : bool = v9 <= 0 │
00:00:34 #3150 [Verbose] > │ if v10 then │
00:00:34 #3151 [Verbose] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:34 #3152 [Verbose] > │ else │
00:00:34 #3153 [Verbose] > │ let v11 : float = v6 * v6 │
00:00:34 #3154 [Verbose] > │ let v12 : float = v7 * v7 │
00:00:34 #3155 [Verbose] > │ let v13 : float = v11 + v12 │
00:00:34 #3156 [Verbose] > │ let v14 : float = v8 * v8 │
00:00:34 #3157 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:34 #3158 [Verbose] > │ let v16 : float = sqrt v15 │
00:00:34 #3159 [Verbose] > │ let v17 : float = -0.0007902794129829633 * v16 │
00:00:34 #3160 [Verbose] > │ let v18 : float = v17 * v6 │
00:00:34 #3161 [Verbose] > │ let v19 : float = v17 * v7 │
00:00:34 #3162 [Verbose] > │ let v20 : float = v17 * v8 │
00:00:34 #3163 [Verbose] > │ let v21 : float = -v1 │
00:00:34 #3164 [Verbose] > │ let v22 : float = v21 * 9.80665 │
00:00:34 #3165 [Verbose] > │ let v23 : float = v22 * 0.0 │
00:00:34 #3166 [Verbose] > │ let v24 : float = v23 + v18 │
00:00:34 #3167 [Verbose] > │ let v25 : float = v23 + v19 │
00:00:34 #3168 [Verbose] > │ let v26 : float = v22 + v20 │
00:00:34 #3169 [Verbose] > │ let v27 : float = v24 / v1 │
00:00:34 #3170 [Verbose] > │ let v28 : float = v25 / v1 │
00:00:34 #3171 [Verbose] > │ let v29 : float = v26 / v1 │
00:00:34 #3172 [Verbose] > │ let v30 : float = 0.01 * v27 │
00:00:34 #3173 [Verbose] > │ let v31 : float = 0.01 * v28 │
00:00:34 #3174 [Verbose] > │ let v32 : float = 0.01 * v29 │
00:00:34 #3175 [Verbose] > │ let v33 : float = v6 + v30 │
00:00:34 #3176 [Verbose] > │ let v34 : float = v7 + v31 │
00:00:34 #3177 [Verbose] > │ let v35 : float = v8 + v32 │
00:00:34 #3178 [Verbose] > │ let v36 : float = v5 + 0.01 │
00:00:34 #3179 [Verbose] > │ let v37 : float = 0.01 * v33 │
00:00:34 #3180 [Verbose] > │ let v38 : float = 0.01 * v34 │
00:00:34 #3181 [Verbose] > │ let v39 : float = 0.01 * v35 │
00:00:34 #3182 [Verbose] > │ let v40 : float = v2 + v37 │
00:00:34 #3183 [Verbose] > │ let v41 : float = v3 + v38 │
00:00:34 #3184 [Verbose] > │ let v42 : float = v4 + v39 │
00:00:34 #3185 [Verbose] > │ let v43 : int32 = v9 - 1 │
00:00:34 #3186 [Verbose] > │ method4(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
00:00:34 #3187 [Verbose] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:34 #3188 [Verbose] > │ match v0 with │
00:00:34 #3189 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3190 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:34 #3191 [Verbose] > │ method5(v11, v12) │
00:00:34 #3192 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3193 [Verbose] > │ v1 │
00:00:34 #3194 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
00:00:34 #3195 [Verbose] > │ let v4 : float = 0.0 │
00:00:34 #3196 [Verbose] > │ let v5 : float = 0.145 │
00:00:34 #3197 [Verbose] > │ let v6 : float = 0.0 │
00:00:34 #3198 [Verbose] > │ let v7 : float = 0.0 │
00:00:34 #3199 [Verbose] > │ let v8 : float = 0.0 │
00:00:34 #3200 [Verbose] > │ let v9 : float = 0.0 │
00:00:34 #3201 [Verbose] > │ let v10 : float = 0.0 │
00:00:34 #3202 [Verbose] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
00:00:34 #3203 [Verbose] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method4(v4, v5, │
00:00:34 #3204 [Verbose] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
00:00:34 #3205 [Verbose] > │ let v20 : bool = v15 >= 0.0 │
00:00:34 #3206 [Verbose] > │ if v20 then │
00:00:34 #3207 [Verbose] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
00:00:34 #3208 [Verbose] > │ v2) │
00:00:34 #3209 [Verbose] > │ let v22 : int32 = v3 + 1 │
00:00:34 #3210 [Verbose] > │ method3(v0, v1, v21, v22) │
00:00:34 #3211 [Verbose] > │ else │
00:00:34 #3212 [Verbose] > │ let v24 : UH0 = UH0_1 │
00:00:34 #3213 [Verbose] > │ method5(v2, v24) │
00:00:34 #3214 [Verbose] > │ and method6 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:34 #3215 [Verbose] > │ match v0 with │
00:00:34 #3216 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3217 [Verbose] > │ let v12 : UH1 = method6(v11, v1) │
00:00:34 #3218 [Verbose] > │ UH1_0(v5, v6, v12) │
00:00:34 #3219 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3220 [Verbose] > │ v1 │
00:00:34 #3221 [Verbose] > │ and method7 (v0 : UH1, v1 : float) : float = │
00:00:34 #3222 [Verbose] > │ match v0 with │
00:00:34 #3223 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
00:00:34 #3224 [Verbose] > │ method7(v4, v2) │
00:00:34 #3225 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:34 #3226 [Verbose] > │ v1 │
00:00:34 #3227 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:34 #3228 [Verbose] > │ []) * (float [])) [])) = │
00:00:34 #3229 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (71) │
00:00:34 #3230 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:34 #3231 [Verbose] > │ while method1(v1) do │
00:00:34 #3232 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:34 #3233 [Verbose] > │ let v4 : float = float v3 │
00:00:34 #3234 [Verbose] > │ let v5 : float = 10.0 + v4 │
00:00:34 #3235 [Verbose] > │ v0.[int v3] <- v5 │
00:00:34 #3236 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:34 #3237 [Verbose] > │ v1.l0 <- v6 │
00:00:34 #3238 [Verbose] > │ () │
00:00:34 #3239 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:34 #3240 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:34 #3241 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:34 #3242 [Verbose] > │ while method2(v7, v9) do │
00:00:34 #3243 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:34 #3244 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:34 #3245 [Verbose] > │ let v13 : float = v12 * 3.141592653589793 │
00:00:34 #3246 [Verbose] > │ let v14 : float = v13 / 180.0 │
00:00:34 #3247 [Verbose] > │ let v15 : float = cos v14 │
00:00:34 #3248 [Verbose] > │ let v16 : float = 45.0 * v15 │
00:00:34 #3249 [Verbose] > │ let v17 : float = sin v14 │
00:00:34 #3250 [Verbose] > │ let v18 : float = 45.0 * v17 │
00:00:34 #3251 [Verbose] > │ let v19 : UH0 = UH0_1 │
00:00:34 #3252 [Verbose] > │ let v20 : int32 = 0 │
00:00:34 #3253 [Verbose] > │ let v21 : UH0 = method3(v16, v18, v19, v20) │
00:00:34 #3254 [Verbose] > │ let v22 : UH1 = UH1_1 │
00:00:34 #3255 [Verbose] > │ let v23 : UH1 = method6(v21, v22) │
00:00:34 #3256 [Verbose] > │ let v24 : float = 0.0 │
00:00:34 #3257 [Verbose] > │ let v25 : float = method7(v23, v24) │
00:00:34 #3258 [Verbose] > │ v8.[int v11] <- v25 │
00:00:34 #3259 [Verbose] > │ let v26 : int32 = v11 + 1 │
00:00:34 #3260 [Verbose] > │ v9.l0 <- v26 │
00:00:34 #3261 [Verbose] > │ () │
00:00:34 #3262 [Verbose] > │ let v27 : string = "horizontal range (m)" │
00:00:34 #3263 [Verbose] > │ let v28 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:34 #3264 [Verbose] > │ (v27, v0, v8)|] │
00:00:34 #3265 [Verbose] > │ let v29 : string = "range for a baseball hit at 45 m/s" │
00:00:34 #3266 [Verbose] > │ let v30 : string = "angle above horizontal (degrees)" │
00:00:34 #3267 [Verbose] > │ let v31 : string = "" │
00:00:34 #3268 [Verbose] > │ struct (v29, v30, v31, v28) │
00:00:34 #3269 [Verbose] > │ method0() │
00:00:34 #3270 [Verbose] > │ │
00:00:34 #3271 [Verbose] > │ │
00:00:34 #3272 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 #3273 [Verbose] >
00:00:34 #3274 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:34 #3275 [Verbose] > // // test
00:00:34 #3276 [Verbose] >
00:00:34 #3277 [Verbose] > inl best_angle (min, max) =
00:00:34 #3278 [Verbose] > let rec loop theta_deg (best_range, best_theta_deg) =
00:00:34 #3279 [Verbose] > if theta_deg > max
00:00:34 #3280 [Verbose] > then best_range, best_theta_deg
00:00:34 #3281 [Verbose] > else
00:00:34 #3282 [Verbose] > inl range = baseball_range 0.01 45 theta_deg
00:00:34 #3283 [Verbose] > loop
00:00:34 #3284 [Verbose] > (theta_deg + 1)
00:00:34 #3285 [Verbose] > (if range > best_range
00:00:34 #3286 [Verbose] > then range, theta_deg
00:00:34 #3287 [Verbose] > else best_range, best_theta_deg)
00:00:34 #3288 [Verbose] > loop min (0f64, min)
00:00:34 #3289 [Verbose] >
00:00:34 #3290 [Verbose] > best_angle (30f64, 60f64)
00:00:34 #3291 [Verbose] > |> _equal (116.77499158246208, 41)
00:00:34 #3292 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0725-2556-2c0d8d1619a9\main.spi
00:00:35 #3293 [Verbose] >
00:00:35 #3294 [Verbose] > ╭─[ 609.73ms - stdout ]────────────────────────────────────────────────────────╮
00:00:35 #3295 [Verbose] > │ type UH0 = │
00:00:35 #3296 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:35 #3297 [Verbose] > │ * float * UH0 │
00:00:35 #3298 [Verbose] > │ | UH0_1 │
00:00:35 #3299 [Verbose] > │ and UH1 = │
00:00:35 #3300 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:35 #3301 [Verbose] > │ | UH1_1 │
00:00:35 #3302 [Verbose] > │ let rec method3 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │
00:00:35 #3303 [Verbose] > │ v5 : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float │
00:00:35 #3304 [Verbose] > │ * float * float * float * float * float * float * float * float) = │
00:00:35 #3305 [Verbose] > │ let v10 : bool = v9 <= 0 │
00:00:35 #3306 [Verbose] > │ if v10 then │
00:00:35 #3307 [Verbose] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:35 #3308 [Verbose] > │ else │
00:00:35 #3309 [Verbose] > │ let v11 : float = v6 * v6 │
00:00:35 #3310 [Verbose] > │ let v12 : float = v7 * v7 │
00:00:35 #3311 [Verbose] > │ let v13 : float = v11 + v12 │
00:00:35 #3312 [Verbose] > │ let v14 : float = v8 * v8 │
00:00:35 #3313 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:35 #3314 [Verbose] > │ let v16 : float = sqrt v15 │
00:00:35 #3315 [Verbose] > │ let v17 : float = -0.0007902794129829633 * v16 │
00:00:35 #3316 [Verbose] > │ let v18 : float = v17 * v6 │
00:00:35 #3317 [Verbose] > │ let v19 : float = v17 * v7 │
00:00:35 #3318 [Verbose] > │ let v20 : float = v17 * v8 │
00:00:35 #3319 [Verbose] > │ let v21 : float = -v1 │
00:00:35 #3320 [Verbose] > │ let v22 : float = v21 * 9.80665 │
00:00:35 #3321 [Verbose] > │ let v23 : float = v22 * 0.0 │
00:00:35 #3322 [Verbose] > │ let v24 : float = v23 + v18 │
00:00:35 #3323 [Verbose] > │ let v25 : float = v23 + v19 │
00:00:35 #3324 [Verbose] > │ let v26 : float = v22 + v20 │
00:00:35 #3325 [Verbose] > │ let v27 : float = v24 / v1 │
00:00:35 #3326 [Verbose] > │ let v28 : float = v25 / v1 │
00:00:35 #3327 [Verbose] > │ let v29 : float = v26 / v1 │
00:00:35 #3328 [Verbose] > │ let v30 : float = 0.01 * v27 │
00:00:35 #3329 [Verbose] > │ let v31 : float = 0.01 * v28 │
00:00:35 #3330 [Verbose] > │ let v32 : float = 0.01 * v29 │
00:00:35 #3331 [Verbose] > │ let v33 : float = v6 + v30 │
00:00:35 #3332 [Verbose] > │ let v34 : float = v7 + v31 │
00:00:35 #3333 [Verbose] > │ let v35 : float = v8 + v32 │
00:00:35 #3334 [Verbose] > │ let v36 : float = v5 + 0.01 │
00:00:35 #3335 [Verbose] > │ let v37 : float = 0.01 * v33 │
00:00:35 #3336 [Verbose] > │ let v38 : float = 0.01 * v34 │
00:00:35 #3337 [Verbose] > │ let v39 : float = 0.01 * v35 │
00:00:35 #3338 [Verbose] > │ let v40 : float = v2 + v37 │
00:00:35 #3339 [Verbose] > │ let v41 : float = v3 + v38 │
00:00:35 #3340 [Verbose] > │ let v42 : float = v4 + v39 │
00:00:35 #3341 [Verbose] > │ let v43 : int32 = v9 - 1 │
00:00:35 #3342 [Verbose] > │ method3(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
00:00:35 #3343 [Verbose] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:35 #3344 [Verbose] > │ match v0 with │
00:00:35 #3345 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:35 #3346 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:35 #3347 [Verbose] > │ method4(v11, v12) │
00:00:35 #3348 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:35 #3349 [Verbose] > │ v1 │
00:00:35 #3350 [Verbose] > │ and method2 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
00:00:35 #3351 [Verbose] > │ let v4 : float = 0.0 │
00:00:35 #3352 [Verbose] > │ let v5 : float = 0.145 │
00:00:35 #3353 [Verbose] > │ let v6 : float = 0.0 │
00:00:35 #3354 [Verbose] > │ let v7 : float = 0.0 │
00:00:35 #3355 [Verbose] > │ let v8 : float = 0.0 │
00:00:35 #3356 [Verbose] > │ let v9 : float = 0.0 │
00:00:35 #3357 [Verbose] > │ let v10 : float = 0.0 │
00:00:35 #3358 [Verbose] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
00:00:35 #3359 [Verbose] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method3(v4, v5, │
00:00:35 #3360 [Verbose] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
00:00:35 #3361 [Verbose] > │ let v20 : bool = v15 >= 0.0 │
00:00:35 #3362 [Verbose] > │ if v20 then │
00:00:35 #3363 [Verbose] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
00:00:35 #3364 [Verbose] > │ v2) │
00:00:35 #3365 [Verbose] > │ let v22 : int32 = v3 + 1 │
00:00:35 #3366 [Verbose] > │ method2(v0, v1, v21, v22) │
00:00:35 #3367 [Verbose] > │ else │
00:00:35 #3368 [Verbose] > │ let v24 : UH0 = UH0_1 │
00:00:35 #3369 [Verbose] > │ method4(v2, v24) │
00:00:35 #3370 [Verbose] > │ and method5 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:35 #3371 [Verbose] > │ match v0 with │
00:00:35 #3372 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:35 #3373 [Verbose] > │ let v12 : UH1 = method5(v11, v1) │
00:00:35 #3374 [Verbose] > │ UH1_0(v5, v6, v12) │
00:00:35 #3375 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:35 #3376 [Verbose] > │ v1 │
00:00:35 #3377 [Verbose] > │ and method6 (v0 : UH1, v1 : float) : float = │
00:00:35 #3378 [Verbose] > │ match v0 with │
00:00:35 #3379 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
00:00:35 #3380 [Verbose] > │ method6(v4, v2) │
00:00:35 #3381 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:35 #3382 [Verbose] > │ v1 │
00:00:35 #3383 [Verbose] > │ and method1 (v0 : float, v1 : float, v2 : float) : struct (float * float) = │
00:00:35 #3384 [Verbose] > │ let v3 : bool = v0 > 60.0 │
00:00:35 #3385 [Verbose] > │ if v3 then │
00:00:35 #3386 [Verbose] > │ struct (v2, v1) │
00:00:35 #3387 [Verbose] > │ else │
00:00:35 #3388 [Verbose] > │ let v4 : float = v0 * 3.141592653589793 │
00:00:35 #3389 [Verbose] > │ let v5 : float = v4 / 180.0 │
00:00:35 #3390 [Verbose] > │ let v6 : float = cos v5 │
00:00:35 #3391 [Verbose] > │ let v7 : float = 45.0 * v6 │
00:00:35 #3392 [Verbose] > │ let v8 : float = sin v5 │
00:00:35 #3393 [Verbose] > │ let v9 : float = 45.0 * v8 │
00:00:35 #3394 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:35 #3395 [Verbose] > │ let v11 : int32 = 0 │
00:00:35 #3396 [Verbose] > │ let v12 : UH0 = method2(v7, v9, v10, v11) │
00:00:35 #3397 [Verbose] > │ let v13 : UH1 = UH1_1 │
00:00:35 #3398 [Verbose] > │ let v14 : UH1 = method5(v12, v13) │
00:00:35 #3399 [Verbose] > │ let v15 : float = 0.0 │
00:00:35 #3400 [Verbose] > │ let v16 : float = method6(v14, v15) │
00:00:35 #3401 [Verbose] > │ let v17 : float = v0 + 1.0 │
00:00:35 #3402 [Verbose] > │ let v18 : bool = v16 > v2 │
00:00:35 #3403 [Verbose] > │ let struct (v19 : float, v20 : float) = │
00:00:35 #3404 [Verbose] > │ if v18 then │
00:00:35 #3405 [Verbose] > │ struct (v16, v0) │
00:00:35 #3406 [Verbose] > │ else │
00:00:35 #3407 [Verbose] > │ struct (v2, v1) │
00:00:35 #3408 [Verbose] > │ method1(v17, v20, v19) │
00:00:35 #3409 [Verbose] > │ and method0 () : unit = │
00:00:35 #3410 [Verbose] > │ let v0 : float = 30.0 │
00:00:35 #3411 [Verbose] > │ let v1 : float = 0.0 │
00:00:35 #3412 [Verbose] > │ let v2 : float = 30.0 │
00:00:35 #3413 [Verbose] > │ let struct (v3 : float, v4 : float) = method1(v0, v2, v1) │
00:00:35 #3414 [Verbose] > │ let v5 : bool = v3 = 116.77499158246208 │
00:00:35 #3415 [Verbose] > │ let v7 : bool = │
00:00:35 #3416 [Verbose] > │ if v5 then │
00:00:35 #3417 [Verbose] > │ let v6 : bool = v4 = 41.0 │
00:00:35 #3418 [Verbose] > │ v6 │
00:00:35 #3419 [Verbose] > │ else │
00:00:35 #3420 [Verbose] > │ false │
00:00:35 #3421 [Verbose] > │ let v8 : string = $"_equal / actual: %A{struct (v3, v4)} / expected: │
00:00:35 #3422 [Verbose] > │ %A{struct (116.77499158246208, 41.0)}" │
00:00:35 #3423 [Verbose] > │ let v9 : bool = v7 = false │
00:00:35 #3424 [Verbose] > │ if v9 then │
00:00:35 #3425 [Verbose] > │ failwith<unit> v8 │
00:00:35 #3426 [Verbose] > │ method0() │
00:00:35 #3427 [Verbose] > │ │
00:00:35 #3428 [Verbose] > │ │
00:00:35 #3429 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3430 [Verbose] >
00:00:35 #3431 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:35 #3432 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:35 #3433 [Verbose] > │ ## relativity_ps │
00:00:35 #3434 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3435 [Verbose] >
00:00:35 #3436 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:35 #3437 [Verbose] > inl relativity_ps fs (st : particle_state) =
00:00:35 #3438 [Verbose] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:00:35 #3439 [Verbose] > inl c = 299792458
00:00:35 #3440 [Verbose] > inl u = st.velocity ^/ c
00:00:35 #3441 [Verbose] > inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass
00:00:35 #3442 [Verbose] > d_particle_state {
00:00:35 #3443 [Verbose] > dmdt = 0
00:00:35 #3444 [Verbose] > dqdt = 0
00:00:35 #3445 [Verbose] > dtdt = 1
00:00:35 #3446 [Verbose] > drdt = st.velocity
00:00:35 #3447 [Verbose] > dvdt = acc
00:00:35 #3448 [Verbose] > }
00:00:35 #3449 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0793-9317-94892aa0e820\main.spi
00:00:35 #3450 [Verbose] >
00:00:35 #3451 [Verbose] > ╭─[ 191.75ms - stdout ]────────────────────────────────────────────────────────╮
00:00:35 #3452 [Verbose] > │ () │
00:00:35 #3453 [Verbose] > │ │
00:00:35 #3454 [Verbose] > │ │
00:00:35 #3455 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3456 [Verbose] >
00:00:35 #3457 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:35 #3458 [Verbose] > // // test
00:00:35 #3459 [Verbose] >
00:00:35 #3460 [Verbose] > inl year = 365.25 * 24 * 60 * 60
00:00:35 #3461 [Verbose] > inl c = 299792458
00:00:35 #3462 [Verbose] > inl ~method = runge_kutta_4 100000
00:00:35 #3463 [Verbose] > inl forces = [[ fun _ => 10 *^ i_hat () ]]
00:00:35 #3464 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:35 #3465 [Verbose] > inl initial_state =
00:00:35 #3466 [Verbose] > particle_state { default_particle_state' with
00:00:35 #3467 [Verbose] > mass = 1
00:00:35 #3468 [Verbose] > }
00:00:35 #3469 [Verbose] >
00:00:35 #3470 [Verbose] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:00:35 #3471 [Verbose] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:00:35 #3472 [Verbose] >
00:00:35 #3473 [Verbose] > inl newton_x, newton_y =
00:00:35 #3474 [Verbose] > newton_states
00:00:35 #3475 [Verbose] > >> Some
00:00:35 #3476 [Verbose] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:00:35 #3477 [Verbose] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:00:35 #3478 [Verbose] > |> listm'.unzip
00:00:35 #3479 [Verbose] >
00:00:35 #3480 [Verbose] > inl _, relativity_y =
00:00:35 #3481 [Verbose] > relativity_states
00:00:35 #3482 [Verbose] > >> Some
00:00:35 #3483 [Verbose] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:00:35 #3484 [Verbose] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:00:35 #3485 [Verbose] > |> listm'.unzip
00:00:35 #3486 [Verbose] >
00:00:35 #3487 [Verbose] > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:00:35 #3488 [Verbose] > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:00:35 #3489 [Verbose] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:00:35 #3490 [Verbose] >
00:00:35 #3491 [Verbose] > "response to a constant force",
00:00:35 #3492 [Verbose] > "time (years)",
00:00:35 #3493 [Verbose] > "velocity (multiples of c)",
00:00:35 #3494 [Verbose] > ;[[
00:00:35 #3495 [Verbose] > "newtonian", newton_x, newton_y
00:00:35 #3496 [Verbose] > "relativistic", newton_x, relativity_y
00:00:35 #3497 [Verbose] > ]]
00:00:35 #3498 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0812-1248-12c453639cab\main.spi
00:00:36 #3499 [Verbose] >
00:00:36 #3500 [Verbose] > ╭─[ 602.50ms - return value ]──────────────────────────────────────────────────╮
00:00:36 #3501 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:36 #3502 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:36 #3503 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:36 #3504 [Verbose] > │ stroke="none"/> │
00:00:36 #3505 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:36 #3506 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:36 #3507 [Verbose] > │ fill="#FFFFFF"> │
00:00:36 #3508 [Verbose] > │ response to a constant force │
00:00:36 #3509 [Verbose] > │ </text> │
00:00:36 #3510 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:36 #3511 [Verbose] > │ y2="75"/> │
00:00:36 #3512 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:36 #3513 [Verbose] > │ y2="75"/> │
00:00:36 #3514 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:36 #3515 [Verbose] > │ y2="75"/> │
00:00:36 #3516 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:36 #3517 [Verbose] > │ y2="75"/> │
00:00:36 #3518 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:36 #3519 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3520 [Verbose] >
00:00:36 #3521 [Verbose] > ╭─[ 615.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:36 #3522 [Verbose] > │ type UH0 = │
00:00:36 #3523 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:36 #3524 [Verbose] > │ * float * UH0 │
00:00:36 #3525 [Verbose] > │ | UH0_1 │
00:00:36 #3526 [Verbose] > │ and UH1 = │
00:00:36 #3527 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:36 #3528 [Verbose] > │ | UH1_1 │
00:00:36 #3529 [Verbose] > │ and UH2 = │
00:00:36 #3530 [Verbose] > │ | UH2_0 of float * UH2 │
00:00:36 #3531 [Verbose] > │ | UH2_1 │
00:00:36 #3532 [Verbose] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
00:00:36 #3533 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:36 #3534 [Verbose] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
00:00:36 #3535 [Verbose] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
00:00:36 #3536 [Verbose] > │ float) : struct (float * float * float * float * float * float * float * │
00:00:36 #3537 [Verbose] > │ float * float) = │
00:00:36 #3538 [Verbose] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
00:00:36 #3539 [Verbose] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
00:00:36 #3540 [Verbose] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #3541 [Verbose] > │ let v19 : float = v15 * 50000.0 │
00:00:36 #3542 [Verbose] > │ let v20 : float = v6 + v19 │
00:00:36 #3543 [Verbose] > │ let v21 : float = 50000.0 * v12 │
00:00:36 #3544 [Verbose] > │ let v22 : float = 50000.0 * v13 │
00:00:36 #3545 [Verbose] > │ let v23 : float = 50000.0 * v14 │
00:00:36 #3546 [Verbose] > │ let v24 : float = v3 + v21 │
00:00:36 #3547 [Verbose] > │ let v25 : float = v4 + v22 │
00:00:36 #3548 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:36 #3549 [Verbose] > │ let v27 : float = 50000.0 * v16 │
00:00:36 #3550 [Verbose] > │ let v28 : float = 50000.0 * v17 │
00:00:36 #3551 [Verbose] > │ let v29 : float = 50000.0 * v18 │
00:00:36 #3552 [Verbose] > │ let v30 : float = v7 + v27 │
00:00:36 #3553 [Verbose] > │ let v31 : float = v8 + v28 │
00:00:36 #3554 [Verbose] > │ let v32 : float = v9 + v29 │
00:00:36 #3555 [Verbose] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
00:00:36 #3556 [Verbose] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
00:00:36 #3557 [Verbose] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
00:00:36 #3558 [Verbose] > │ let v42 : float = v38 * 50000.0 │
00:00:36 #3559 [Verbose] > │ let v43 : float = v6 + v42 │
00:00:36 #3560 [Verbose] > │ let v44 : float = 50000.0 * v35 │
00:00:36 #3561 [Verbose] > │ let v45 : float = 50000.0 * v36 │
00:00:36 #3562 [Verbose] > │ let v46 : float = 50000.0 * v37 │
00:00:36 #3563 [Verbose] > │ let v47 : float = v3 + v44 │
00:00:36 #3564 [Verbose] > │ let v48 : float = v4 + v45 │
00:00:36 #3565 [Verbose] > │ let v49 : float = v5 + v46 │
00:00:36 #3566 [Verbose] > │ let v50 : float = 50000.0 * v39 │
00:00:36 #3567 [Verbose] > │ let v51 : float = 50000.0 * v40 │
00:00:36 #3568 [Verbose] > │ let v52 : float = 50000.0 * v41 │
00:00:36 #3569 [Verbose] > │ let v53 : float = v7 + v50 │
00:00:36 #3570 [Verbose] > │ let v54 : float = v8 + v51 │
00:00:36 #3571 [Verbose] > │ let v55 : float = v9 + v52 │
00:00:36 #3572 [Verbose] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
00:00:36 #3573 [Verbose] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
00:00:36 #3574 [Verbose] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
00:00:36 #3575 [Verbose] > │ let v65 : float = v61 * 100000.0 │
00:00:36 #3576 [Verbose] > │ let v66 : float = v6 + v65 │
00:00:36 #3577 [Verbose] > │ let v67 : float = 100000.0 * v58 │
00:00:36 #3578 [Verbose] > │ let v68 : float = 100000.0 * v59 │
00:00:36 #3579 [Verbose] > │ let v69 : float = 100000.0 * v60 │
00:00:36 #3580 [Verbose] > │ let v70 : float = v3 + v67 │
00:00:36 #3581 [Verbose] > │ let v71 : float = v4 + v68 │
00:00:36 #3582 [Verbose] > │ let v72 : float = v5 + v69 │
00:00:36 #3583 [Verbose] > │ let v73 : float = 100000.0 * v62 │
00:00:36 #3584 [Verbose] > │ let v74 : float = 100000.0 * v63 │
00:00:36 #3585 [Verbose] > │ let v75 : float = 100000.0 * v64 │
00:00:36 #3586 [Verbose] > │ let v76 : float = v7 + v73 │
00:00:36 #3587 [Verbose] > │ let v77 : float = v8 + v74 │
00:00:36 #3588 [Verbose] > │ let v78 : float = v9 + v75 │
00:00:36 #3589 [Verbose] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
00:00:36 #3590 [Verbose] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
00:00:36 #3591 [Verbose] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
00:00:36 #3592 [Verbose] > │ let v88 : float = v10 + v33 │
00:00:36 #3593 [Verbose] > │ let v89 : float = v11 + v34 │
00:00:36 #3594 [Verbose] > │ let v90 : float = v15 + v38 │
00:00:36 #3595 [Verbose] > │ let v91 : float = v12 + v35 │
00:00:36 #3596 [Verbose] > │ let v92 : float = v13 + v36 │
00:00:36 #3597 [Verbose] > │ let v93 : float = v14 + v37 │
00:00:36 #3598 [Verbose] > │ let v94 : float = v16 + v39 │
00:00:36 #3599 [Verbose] > │ let v95 : float = v17 + v40 │
00:00:36 #3600 [Verbose] > │ let v96 : float = v18 + v41 │
00:00:36 #3601 [Verbose] > │ let v97 : float = v88 + v33 │
00:00:36 #3602 [Verbose] > │ let v98 : float = v89 + v34 │
00:00:36 #3603 [Verbose] > │ let v99 : float = v90 + v38 │
00:00:36 #3604 [Verbose] > │ let v100 : float = v91 + v35 │
00:00:36 #3605 [Verbose] > │ let v101 : float = v92 + v36 │
00:00:36 #3606 [Verbose] > │ let v102 : float = v93 + v37 │
00:00:36 #3607 [Verbose] > │ let v103 : float = v94 + v39 │
00:00:36 #3608 [Verbose] > │ let v104 : float = v95 + v40 │
00:00:36 #3609 [Verbose] > │ let v105 : float = v96 + v41 │
00:00:36 #3610 [Verbose] > │ let v106 : float = v97 + v56 │
00:00:36 #3611 [Verbose] > │ let v107 : float = v98 + v57 │
00:00:36 #3612 [Verbose] > │ let v108 : float = v99 + v61 │
00:00:36 #3613 [Verbose] > │ let v109 : float = v100 + v58 │
00:00:36 #3614 [Verbose] > │ let v110 : float = v101 + v59 │
00:00:36 #3615 [Verbose] > │ let v111 : float = v102 + v60 │
00:00:36 #3616 [Verbose] > │ let v112 : float = v103 + v62 │
00:00:36 #3617 [Verbose] > │ let v113 : float = v104 + v63 │
00:00:36 #3618 [Verbose] > │ let v114 : float = v105 + v64 │
00:00:36 #3619 [Verbose] > │ let v115 : float = v106 + v56 │
00:00:36 #3620 [Verbose] > │ let v116 : float = v107 + v57 │
00:00:36 #3621 [Verbose] > │ let v117 : float = v108 + v61 │
00:00:36 #3622 [Verbose] > │ let v118 : float = v109 + v58 │
00:00:36 #3623 [Verbose] > │ let v119 : float = v110 + v59 │
00:00:36 #3624 [Verbose] > │ let v120 : float = v111 + v60 │
00:00:36 #3625 [Verbose] > │ let v121 : float = v112 + v62 │
00:00:36 #3626 [Verbose] > │ let v122 : float = v113 + v63 │
00:00:36 #3627 [Verbose] > │ let v123 : float = v114 + v64 │
00:00:36 #3628 [Verbose] > │ let v124 : float = v115 + v79 │
00:00:36 #3629 [Verbose] > │ let v125 : float = v116 + v80 │
00:00:36 #3630 [Verbose] > │ let v126 : float = v117 + v84 │
00:00:36 #3631 [Verbose] > │ let v127 : float = v118 + v81 │
00:00:36 #3632 [Verbose] > │ let v128 : float = v119 + v82 │
00:00:36 #3633 [Verbose] > │ let v129 : float = v120 + v83 │
00:00:36 #3634 [Verbose] > │ let v130 : float = v121 + v85 │
00:00:36 #3635 [Verbose] > │ let v131 : float = v122 + v86 │
00:00:36 #3636 [Verbose] > │ let v132 : float = v123 + v87 │
00:00:36 #3637 [Verbose] > │ let v133 : float = v126 * 16666.666666666668 │
00:00:36 #3638 [Verbose] > │ let v134 : float = v6 + v133 │
00:00:36 #3639 [Verbose] > │ let v135 : float = 16666.666666666668 * v127 │
00:00:36 #3640 [Verbose] > │ let v136 : float = 16666.666666666668 * v128 │
00:00:36 #3641 [Verbose] > │ let v137 : float = 16666.666666666668 * v129 │
00:00:36 #3642 [Verbose] > │ let v138 : float = v3 + v135 │
00:00:36 #3643 [Verbose] > │ let v139 : float = v4 + v136 │
00:00:36 #3644 [Verbose] > │ let v140 : float = v5 + v137 │
00:00:36 #3645 [Verbose] > │ let v141 : float = 16666.666666666668 * v130 │
00:00:36 #3646 [Verbose] > │ let v142 : float = 16666.666666666668 * v131 │
00:00:36 #3647 [Verbose] > │ let v143 : float = 16666.666666666668 * v132 │
00:00:36 #3648 [Verbose] > │ let v144 : float = v7 + v141 │
00:00:36 #3649 [Verbose] > │ let v145 : float = v8 + v142 │
00:00:36 #3650 [Verbose] > │ let v146 : float = v9 + v143 │
00:00:36 #3651 [Verbose] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
00:00:36 #3652 [Verbose] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
00:00:36 #3653 [Verbose] > │ * float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #3654 [Verbose] > │ float * float * float * float))) : (struct (float * float * float * float * │
00:00:36 #3655 [Verbose] > │ float * float * float * float * float) -> struct (float * float * float * │
00:00:36 #3656 [Verbose] > │ float * float * float * float * float * float)) = │
00:00:36 #3657 [Verbose] > │ closure1(v0) │
00:00:36 #3658 [Verbose] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #3659 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:36 #3660 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:36 #3661 [Verbose] > │ let v9 : float = 10.0 / v1 │
00:00:36 #3662 [Verbose] > │ let v10 : float = 0.0 / v1 │
00:00:36 #3663 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v9, v10, v10) │
00:00:36 #3664 [Verbose] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #3665 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:36 #3666 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:36 #3667 [Verbose] > │ let v9 : float = v6 / 299792458.0 │
00:00:36 #3668 [Verbose] > │ let v10 : float = v7 / 299792458.0 │
00:00:36 #3669 [Verbose] > │ let v11 : float = v8 / 299792458.0 │
00:00:36 #3670 [Verbose] > │ let v12 : float = v9 * v9 │
00:00:36 #3671 [Verbose] > │ let v13 : float = v10 * v10 │
00:00:36 #3672 [Verbose] > │ let v14 : float = v12 + v13 │
00:00:36 #3673 [Verbose] > │ let v15 : float = v11 * v11 │
00:00:36 #3674 [Verbose] > │ let v16 : float = v14 + v15 │
00:00:36 #3675 [Verbose] > │ let v17 : float = 1.0 - v16 │
00:00:36 #3676 [Verbose] > │ let v18 : float = sqrt v17 │
00:00:36 #3677 [Verbose] > │ let v19 : float = 10.0 * v9 │
00:00:36 #3678 [Verbose] > │ let v20 : float = 0.0 * v10 │
00:00:36 #3679 [Verbose] > │ let v21 : float = v19 + v20 │
00:00:36 #3680 [Verbose] > │ let v22 : float = 0.0 * v11 │
00:00:36 #3681 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:36 #3682 [Verbose] > │ let v24 : float = v23 * v9 │
00:00:36 #3683 [Verbose] > │ let v25 : float = v23 * v10 │
00:00:36 #3684 [Verbose] > │ let v26 : float = v23 * v11 │
00:00:36 #3685 [Verbose] > │ let v27 : float = -1.0 * v24 │
00:00:36 #3686 [Verbose] > │ let v28 : float = -1.0 * v25 │
00:00:36 #3687 [Verbose] > │ let v29 : float = -1.0 * v26 │
00:00:36 #3688 [Verbose] > │ let v30 : float = 10.0 + v27 │
00:00:36 #3689 [Verbose] > │ let v31 : float = v18 * v30 │
00:00:36 #3690 [Verbose] > │ let v32 : float = v18 * v28 │
00:00:36 #3691 [Verbose] > │ let v33 : float = v18 * v29 │
00:00:36 #3692 [Verbose] > │ let v34 : float = v31 / v1 │
00:00:36 #3693 [Verbose] > │ let v35 : float = v32 / v1 │
00:00:36 #3694 [Verbose] > │ let v36 : float = v33 / v1 │
00:00:36 #3695 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v34, v35, v36) │
00:00:36 #3696 [Verbose] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #3697 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #3698 [Verbose] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #3699 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
00:00:36 #3700 [Verbose] > │ int32) : struct (float * float * float * float * float * float * float * │
00:00:36 #3701 [Verbose] > │ float * float) = │
00:00:36 #3702 [Verbose] > │ let v11 : bool = v10 <= 0 │
00:00:36 #3703 [Verbose] > │ if v11 then │
00:00:36 #3704 [Verbose] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #3705 [Verbose] > │ else │
00:00:36 #3706 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:36 #3707 [Verbose] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
00:00:36 #3708 [Verbose] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #3709 [Verbose] > │ let v21 : int32 = v10 - 1 │
00:00:36 #3710 [Verbose] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
00:00:36 #3711 [Verbose] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:36 #3712 [Verbose] > │ match v0 with │
00:00:36 #3713 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #3714 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:36 #3715 [Verbose] > │ method3(v11, v12) │
00:00:36 #3716 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #3717 [Verbose] > │ v1 │
00:00:36 #3718 [Verbose] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #3719 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #3720 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:36 #3721 [Verbose] > │ let v3 : float = 0.0 │
00:00:36 #3722 [Verbose] > │ let v4 : float = 1.0 │
00:00:36 #3723 [Verbose] > │ let v5 : float = 0.0 │
00:00:36 #3724 [Verbose] > │ let v6 : float = 0.0 │
00:00:36 #3725 [Verbose] > │ let v7 : float = 0.0 │
00:00:36 #3726 [Verbose] > │ let v8 : float = 0.0 │
00:00:36 #3727 [Verbose] > │ let v9 : float = 0.0 │
00:00:36 #3728 [Verbose] > │ let v10 : float = 0.0 │
00:00:36 #3729 [Verbose] > │ let v11 : float = 0.0 │
00:00:36 #3730 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:36 #3731 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:36 #3732 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:36 #3733 [Verbose] > │ let v21 : bool = v17 <= 31557600.0 │
00:00:36 #3734 [Verbose] > │ if v21 then │
00:00:36 #3735 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:36 #3736 [Verbose] > │ v1) │
00:00:36 #3737 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:36 #3738 [Verbose] > │ method1(v0, v22, v23) │
00:00:36 #3739 [Verbose] > │ else │
00:00:36 #3740 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:36 #3741 [Verbose] > │ method3(v1, v25) │
00:00:36 #3742 [Verbose] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:36 #3743 [Verbose] > │ match v0 with │
00:00:36 #3744 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #3745 [Verbose] > │ let v12 : UH1 = method4(v11, v1) │
00:00:36 #3746 [Verbose] > │ let v13 : float = v7 / 31557600.0 │
00:00:36 #3747 [Verbose] > │ let v14 : float = v8 / 299792458.0 │
00:00:36 #3748 [Verbose] > │ UH1_0(v13, v14, v12) │
00:00:36 #3749 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #3750 [Verbose] > │ v1 │
00:00:36 #3751 [Verbose] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
00:00:36 #3752 [Verbose] > │ match v0 with │
00:00:36 #3753 [Verbose] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
00:00:36 #3754 [Verbose] > │ let v6 : UH2 = UH2_0(v3, v1) │
00:00:36 #3755 [Verbose] > │ let v7 : UH2 = UH2_0(v4, v2) │
00:00:36 #3756 [Verbose] > │ method5(v5, v6, v7) │
00:00:36 #3757 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:36 #3758 [Verbose] > │ struct (v1, v2) │
00:00:36 #3759 [Verbose] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:36 #3760 [Verbose] > │ match v0 with │
00:00:36 #3761 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:36 #3762 [Verbose] > │ let v4 : UH2 = UH2_0(v2, v1) │
00:00:36 #3763 [Verbose] > │ method6(v3, v4) │
00:00:36 #3764 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #3765 [Verbose] > │ v1 │
00:00:36 #3766 [Verbose] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #3767 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #3768 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:36 #3769 [Verbose] > │ let v3 : float = 0.0 │
00:00:36 #3770 [Verbose] > │ let v4 : float = 1.0 │
00:00:36 #3771 [Verbose] > │ let v5 : float = 0.0 │
00:00:36 #3772 [Verbose] > │ let v6 : float = 0.0 │
00:00:36 #3773 [Verbose] > │ let v7 : float = 0.0 │
00:00:36 #3774 [Verbose] > │ let v8 : float = 0.0 │
00:00:36 #3775 [Verbose] > │ let v9 : float = 0.0 │
00:00:36 #3776 [Verbose] > │ let v10 : float = 0.0 │
00:00:36 #3777 [Verbose] > │ let v11 : float = 0.0 │
00:00:36 #3778 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:36 #3779 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:36 #3780 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:36 #3781 [Verbose] > │ let v21 : bool = v17 <= 31557600.0 │
00:00:36 #3782 [Verbose] > │ if v21 then │
00:00:36 #3783 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:36 #3784 [Verbose] > │ v1) │
00:00:36 #3785 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:36 #3786 [Verbose] > │ method7(v0, v22, v23) │
00:00:36 #3787 [Verbose] > │ else │
00:00:36 #3788 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:36 #3789 [Verbose] > │ method3(v1, v25) │
00:00:36 #3790 [Verbose] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:36 #3791 [Verbose] > │ match v0 with │
00:00:36 #3792 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #3793 [Verbose] > │ let v12 : UH1 = method8(v11, v1) │
00:00:36 #3794 [Verbose] > │ let v13 : float = v7 / 31557600.0 │
00:00:36 #3795 [Verbose] > │ let v14 : float = v8 / 299792458.0 │
00:00:36 #3796 [Verbose] > │ UH1_0(v13, v14, v12) │
00:00:36 #3797 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #3798 [Verbose] > │ v1 │
00:00:36 #3799 [Verbose] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
00:00:36 #3800 [Verbose] > │ match v0 with │
00:00:36 #3801 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:36 #3802 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:36 #3803 [Verbose] > │ method10(v3, v4) │
00:00:36 #3804 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #3805 [Verbose] > │ v1 │
00:00:36 #3806 [Verbose] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
00:00:36 #3807 [Verbose] > │ match v1 with │
00:00:36 #3808 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:36 #3809 [Verbose] > │ v0.[int v2] <- v3 │
00:00:36 #3810 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:36 #3811 [Verbose] > │ method11(v0, v4, v5) │
00:00:36 #3812 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #3813 [Verbose] > │ v2 │
00:00:36 #3814 [Verbose] > │ and method9 (v0 : UH2) : (float []) = │
00:00:36 #3815 [Verbose] > │ let v1 : int32 = 0 │
00:00:36 #3816 [Verbose] > │ let v2 : int32 = method10(v0, v1) │
00:00:36 #3817 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:36 #3818 [Verbose] > │ let v4 : int32 = 0 │
00:00:36 #3819 [Verbose] > │ let v5 : int32 = method11(v3, v0, v4) │
00:00:36 #3820 [Verbose] > │ v3 │
00:00:36 #3821 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:36 #3822 [Verbose] > │ []) * (float [])) [])) = │
00:00:36 #3823 [Verbose] > │ let v0 : ((struct (float * float * float * float * float * float * float │
00:00:36 #3824 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #3825 [Verbose] > │ float * float * float)) -> (struct (float * float * float * float * float * │
00:00:36 #3826 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:36 #3827 [Verbose] > │ float * float * float * float * float))) = closure0() │
00:00:36 #3828 [Verbose] > │ let v1 : (struct (float * float * float * float * float * float * float │
00:00:36 #3829 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #3830 [Verbose] > │ float * float * float)) = closure2() │
00:00:36 #3831 [Verbose] > │ let v2 : (struct (float * float * float * float * float * float * float │
00:00:36 #3832 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #3833 [Verbose] > │ float * float * float)) = v0 v1 │
00:00:36 #3834 [Verbose] > │ let v3 : (struct (float * float * float * float * float * float * float │
00:00:36 #3835 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #3836 [Verbose] > │ float * float * float)) = closure3() │
00:00:36 #3837 [Verbose] > │ let v4 : (struct (float * float * float * float * float * float * float │
00:00:36 #3838 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #3839 [Verbose] > │ float * float * float)) = v0 v3 │
00:00:36 #3840 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:36 #3841 [Verbose] > │ let v6 : int32 = 0 │
00:00:36 #3842 [Verbose] > │ let v7 : UH0 = method1(v2, v5, v6) │
00:00:36 #3843 [Verbose] > │ let v8 : UH1 = UH1_1 │
00:00:36 #3844 [Verbose] > │ let v9 : UH1 = method4(v7, v8) │
00:00:36 #3845 [Verbose] > │ let v10 : UH2 = UH2_1 │
00:00:36 #3846 [Verbose] > │ let v11 : UH2 = UH2_1 │
00:00:36 #3847 [Verbose] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
00:00:36 #3848 [Verbose] > │ let v14 : UH2 = UH2_1 │
00:00:36 #3849 [Verbose] > │ let v15 : UH2 = method6(v12, v14) │
00:00:36 #3850 [Verbose] > │ let v16 : UH2 = UH2_1 │
00:00:36 #3851 [Verbose] > │ let v17 : UH2 = method6(v13, v16) │
00:00:36 #3852 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:36 #3853 [Verbose] > │ let v19 : int32 = 0 │
00:00:36 #3854 [Verbose] > │ let v20 : UH0 = method7(v4, v18, v19) │
00:00:36 #3855 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:36 #3856 [Verbose] > │ let v22 : UH1 = method8(v20, v21) │
00:00:36 #3857 [Verbose] > │ let v23 : UH2 = UH2_1 │
00:00:36 #3858 [Verbose] > │ let v24 : UH2 = UH2_1 │
00:00:36 #3859 [Verbose] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
00:00:36 #3860 [Verbose] > │ let v27 : UH2 = UH2_1 │
00:00:36 #3861 [Verbose] > │ let v28 : UH2 = method6(v25, v27) │
00:00:36 #3862 [Verbose] > │ let v29 : UH2 = UH2_1 │
00:00:36 #3863 [Verbose] > │ let v30 : UH2 = method6(v26, v29) │
00:00:36 #3864 [Verbose] > │ let v31 : (float []) = method9(v15) │
00:00:36 #3865 [Verbose] > │ let v32 : (float []) = method9(v17) │
00:00:36 #3866 [Verbose] > │ let v33 : (float []) = method9(v30) │
00:00:36 #3867 [Verbose] > │ let v34 : string = "newtonian" │
00:00:36 #3868 [Verbose] > │ let v35 : string = "relativistic" │
00:00:36 #3869 [Verbose] > │ let v36 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:36 #3870 [Verbose] > │ (v34, v31, v32); struct (v35, v31, v33)|] │
00:00:36 #3871 [Verbose] > │ let v37 : string = "response to a constant force" │
00:00:36 #3872 [Verbose] > │ let v38 : string = "time (years)" │
00:00:36 #3873 [Verbose] > │ let v39 : string = "velocity (multiples of c)" │
00:00:36 #3874 [Verbose] > │ struct (v37, v38, v39, v36) │
00:00:36 #3875 [Verbose] > │ method0() │
00:00:36 #3876 [Verbose] > │ │
00:00:36 #3877 [Verbose] > │ │
00:00:36 #3878 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3879 [Verbose] >
00:00:36 #3880 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:36 #3881 [Verbose] > inl uniform_lorentz_force v_e v_b (st : particle_state) =
00:00:36 #3882 [Verbose] > st.charge *^ (v_e ^+^ st.velocity >< v_b)
00:00:36 #3883 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0887-8718-85c1ebcb4362\main.spi
00:00:36 #3884 [Verbose] >
00:00:36 #3885 [Verbose] > ╭─[ 262.34ms - stdout ]────────────────────────────────────────────────────────╮
00:00:36 #3886 [Verbose] > │ () │
00:00:36 #3887 [Verbose] > │ │
00:00:36 #3888 [Verbose] > │ │
00:00:36 #3889 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3890 [Verbose] >
00:00:36 #3891 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:36 #3892 [Verbose] > // // test
00:00:36 #3893 [Verbose] >
00:00:36 #3894 [Verbose] > inl c : f64 = 299792458
00:00:36 #3895 [Verbose] > inl ~method = runge_kutta_4 0.000000001
00:00:36 #3896 [Verbose] > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]]
00:00:36 #3897 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:36 #3898 [Verbose] > inl initial_state =
00:00:36 #3899 [Verbose] > particle_state { default_particle_state' with
00:00:36 #3900 [Verbose] > mass = 0.000000000000000000000000001672621898
00:00:36 #3901 [Verbose] > charge = 0.0000000000000000001602176621
00:00:36 #3902 [Verbose] > velocity = 0.8 *^ (c *^ j_hat ())
00:00:36 #3903 [Verbose] > }
00:00:36 #3904 [Verbose] >
00:00:36 #3905 [Verbose] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:00:36 #3906 [Verbose] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:00:36 #3907 [Verbose] >
00:00:36 #3908 [Verbose] > inl newton_x, newton_y =
00:00:36 #3909 [Verbose] > newton_states
00:00:36 #3910 [Verbose] > >> Some
00:00:36 #3911 [Verbose] > |> seq.take_while_ (fun (particle_state st) i => i < 100i32)
00:00:36 #3912 [Verbose] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:00:36 #3913 [Verbose] > |> listm'.unzip
00:00:36 #3914 [Verbose] >
00:00:36 #3915 [Verbose] > inl relativity_x, relativity_y =
00:00:36 #3916 [Verbose] > relativity_states
00:00:36 #3917 [Verbose] > >> Some
00:00:36 #3918 [Verbose] > |> seq.take_while_ (fun (particle_state st) i => i < 165i32)
00:00:36 #3919 [Verbose] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:00:36 #3920 [Verbose] > |> listm'.unzip
00:00:36 #3921 [Verbose] >
00:00:36 #3922 [Verbose] > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:00:36 #3923 [Verbose] > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:00:36 #3924 [Verbose] >
00:00:36 #3925 [Verbose] > inl relativity_x : a i32 _ = relativity_x |> listm.toArray
00:00:36 #3926 [Verbose] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:00:36 #3927 [Verbose] >
00:00:36 #3928 [Verbose] > "proton in a 1-t magnetic field",
00:00:36 #3929 [Verbose] > "x (m)",
00:00:36 #3930 [Verbose] > "y (m)",
00:00:36 #3931 [Verbose] > ;[[
00:00:36 #3932 [Verbose] > "newtonian", newton_x, newton_y
00:00:36 #3933 [Verbose] > "relativistic", relativity_x, relativity_y
00:00:36 #3934 [Verbose] > ]]
00:00:36 #3935 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0913-1357-11c1199e5beb\main.spi
00:00:36 #3936 [Verbose] >
00:00:36 #3937 [Verbose] > ╭─[ 525.87ms - return value ]──────────────────────────────────────────────────╮
00:00:36 #3938 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:36 #3939 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:36 #3940 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:36 #3941 [Verbose] > │ stroke="none"/> │
00:00:36 #3942 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:36 #3943 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:36 #3944 [Verbose] > │ fill="#FFFFFF"> │
00:00:36 #3945 [Verbose] > │ proton in a 1-t magnetic field │
00:00:36 #3946 [Verbose] > │ </text> │
00:00:36 #3947 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │
00:00:36 #3948 [Verbose] > │ y2="75"/> │
00:00:36 #3949 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:36 #3950 [Verbose] > │ y2="75"/> │
00:00:36 #3951 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │
00:00:36 #3952 [Verbose] > │ y2="75"/> │
00:00:36 #3953 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:00:36 #3954 [Verbose] > │ y2="75"/> │
00:00:36 #3955 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x... │
00:00:36 #3956 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3957 [Verbose] >
00:00:37 #3958 [Verbose] > ╭─[ 543.07ms - stdout ]────────────────────────────────────────────────────────╮
00:00:37 #3959 [Verbose] > │ type UH0 = │
00:00:37 #3960 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:37 #3961 [Verbose] > │ * float * UH0 │
00:00:37 #3962 [Verbose] > │ | UH0_1 │
00:00:37 #3963 [Verbose] > │ and UH1 = │
00:00:37 #3964 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:37 #3965 [Verbose] > │ | UH1_1 │
00:00:37 #3966 [Verbose] > │ and UH2 = │
00:00:37 #3967 [Verbose] > │ | UH2_0 of float * UH2 │
00:00:37 #3968 [Verbose] > │ | UH2_1 │
00:00:37 #3969 [Verbose] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
00:00:37 #3970 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:37 #3971 [Verbose] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
00:00:37 #3972 [Verbose] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
00:00:37 #3973 [Verbose] > │ float) : struct (float * float * float * float * float * float * float * │
00:00:37 #3974 [Verbose] > │ float * float) = │
00:00:37 #3975 [Verbose] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
00:00:37 #3976 [Verbose] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
00:00:37 #3977 [Verbose] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:37 #3978 [Verbose] > │ let v19 : float = v15 * 5E-10 │
00:00:37 #3979 [Verbose] > │ let v20 : float = v6 + v19 │
00:00:37 #3980 [Verbose] > │ let v21 : float = 5E-10 * v12 │
00:00:37 #3981 [Verbose] > │ let v22 : float = 5E-10 * v13 │
00:00:37 #3982 [Verbose] > │ let v23 : float = 5E-10 * v14 │
00:00:37 #3983 [Verbose] > │ let v24 : float = v3 + v21 │
00:00:37 #3984 [Verbose] > │ let v25 : float = v4 + v22 │
00:00:37 #3985 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:37 #3986 [Verbose] > │ let v27 : float = 5E-10 * v16 │
00:00:37 #3987 [Verbose] > │ let v28 : float = 5E-10 * v17 │
00:00:37 #3988 [Verbose] > │ let v29 : float = 5E-10 * v18 │
00:00:37 #3989 [Verbose] > │ let v30 : float = v7 + v27 │
00:00:37 #3990 [Verbose] > │ let v31 : float = v8 + v28 │
00:00:37 #3991 [Verbose] > │ let v32 : float = v9 + v29 │
00:00:37 #3992 [Verbose] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
00:00:37 #3993 [Verbose] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
00:00:37 #3994 [Verbose] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
00:00:37 #3995 [Verbose] > │ let v42 : float = v38 * 5E-10 │
00:00:37 #3996 [Verbose] > │ let v43 : float = v6 + v42 │
00:00:37 #3997 [Verbose] > │ let v44 : float = 5E-10 * v35 │
00:00:37 #3998 [Verbose] > │ let v45 : float = 5E-10 * v36 │
00:00:37 #3999 [Verbose] > │ let v46 : float = 5E-10 * v37 │
00:00:37 #4000 [Verbose] > │ let v47 : float = v3 + v44 │
00:00:37 #4001 [Verbose] > │ let v48 : float = v4 + v45 │
00:00:37 #4002 [Verbose] > │ let v49 : float = v5 + v46 │
00:00:37 #4003 [Verbose] > │ let v50 : float = 5E-10 * v39 │
00:00:37 #4004 [Verbose] > │ let v51 : float = 5E-10 * v40 │
00:00:37 #4005 [Verbose] > │ let v52 : float = 5E-10 * v41 │
00:00:37 #4006 [Verbose] > │ let v53 : float = v7 + v50 │
00:00:37 #4007 [Verbose] > │ let v54 : float = v8 + v51 │
00:00:37 #4008 [Verbose] > │ let v55 : float = v9 + v52 │
00:00:37 #4009 [Verbose] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
00:00:37 #4010 [Verbose] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
00:00:37 #4011 [Verbose] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
00:00:37 #4012 [Verbose] > │ let v65 : float = v61 * 1E-09 │
00:00:37 #4013 [Verbose] > │ let v66 : float = v6 + v65 │
00:00:37 #4014 [Verbose] > │ let v67 : float = 1E-09 * v58 │
00:00:37 #4015 [Verbose] > │ let v68 : float = 1E-09 * v59 │
00:00:37 #4016 [Verbose] > │ let v69 : float = 1E-09 * v60 │
00:00:37 #4017 [Verbose] > │ let v70 : float = v3 + v67 │
00:00:37 #4018 [Verbose] > │ let v71 : float = v4 + v68 │
00:00:37 #4019 [Verbose] > │ let v72 : float = v5 + v69 │
00:00:37 #4020 [Verbose] > │ let v73 : float = 1E-09 * v62 │
00:00:37 #4021 [Verbose] > │ let v74 : float = 1E-09 * v63 │
00:00:37 #4022 [Verbose] > │ let v75 : float = 1E-09 * v64 │
00:00:37 #4023 [Verbose] > │ let v76 : float = v7 + v73 │
00:00:37 #4024 [Verbose] > │ let v77 : float = v8 + v74 │
00:00:37 #4025 [Verbose] > │ let v78 : float = v9 + v75 │
00:00:37 #4026 [Verbose] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
00:00:37 #4027 [Verbose] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
00:00:37 #4028 [Verbose] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
00:00:37 #4029 [Verbose] > │ let v88 : float = v10 + v33 │
00:00:37 #4030 [Verbose] > │ let v89 : float = v11 + v34 │
00:00:37 #4031 [Verbose] > │ let v90 : float = v15 + v38 │
00:00:37 #4032 [Verbose] > │ let v91 : float = v12 + v35 │
00:00:37 #4033 [Verbose] > │ let v92 : float = v13 + v36 │
00:00:37 #4034 [Verbose] > │ let v93 : float = v14 + v37 │
00:00:37 #4035 [Verbose] > │ let v94 : float = v16 + v39 │
00:00:37 #4036 [Verbose] > │ let v95 : float = v17 + v40 │
00:00:37 #4037 [Verbose] > │ let v96 : float = v18 + v41 │
00:00:37 #4038 [Verbose] > │ let v97 : float = v88 + v33 │
00:00:37 #4039 [Verbose] > │ let v98 : float = v89 + v34 │
00:00:37 #4040 [Verbose] > │ let v99 : float = v90 + v38 │
00:00:37 #4041 [Verbose] > │ let v100 : float = v91 + v35 │
00:00:37 #4042 [Verbose] > │ let v101 : float = v92 + v36 │
00:00:37 #4043 [Verbose] > │ let v102 : float = v93 + v37 │
00:00:37 #4044 [Verbose] > │ let v103 : float = v94 + v39 │
00:00:37 #4045 [Verbose] > │ let v104 : float = v95 + v40 │
00:00:37 #4046 [Verbose] > │ let v105 : float = v96 + v41 │
00:00:37 #4047 [Verbose] > │ let v106 : float = v97 + v56 │
00:00:37 #4048 [Verbose] > │ let v107 : float = v98 + v57 │
00:00:37 #4049 [Verbose] > │ let v108 : float = v99 + v61 │
00:00:37 #4050 [Verbose] > │ let v109 : float = v100 + v58 │
00:00:37 #4051 [Verbose] > │ let v110 : float = v101 + v59 │
00:00:37 #4052 [Verbose] > │ let v111 : float = v102 + v60 │
00:00:37 #4053 [Verbose] > │ let v112 : float = v103 + v62 │
00:00:37 #4054 [Verbose] > │ let v113 : float = v104 + v63 │
00:00:37 #4055 [Verbose] > │ let v114 : float = v105 + v64 │
00:00:37 #4056 [Verbose] > │ let v115 : float = v106 + v56 │
00:00:37 #4057 [Verbose] > │ let v116 : float = v107 + v57 │
00:00:37 #4058 [Verbose] > │ let v117 : float = v108 + v61 │
00:00:37 #4059 [Verbose] > │ let v118 : float = v109 + v58 │
00:00:37 #4060 [Verbose] > │ let v119 : float = v110 + v59 │
00:00:37 #4061 [Verbose] > │ let v120 : float = v111 + v60 │
00:00:37 #4062 [Verbose] > │ let v121 : float = v112 + v62 │
00:00:37 #4063 [Verbose] > │ let v122 : float = v113 + v63 │
00:00:37 #4064 [Verbose] > │ let v123 : float = v114 + v64 │
00:00:37 #4065 [Verbose] > │ let v124 : float = v115 + v79 │
00:00:37 #4066 [Verbose] > │ let v125 : float = v116 + v80 │
00:00:37 #4067 [Verbose] > │ let v126 : float = v117 + v84 │
00:00:37 #4068 [Verbose] > │ let v127 : float = v118 + v81 │
00:00:37 #4069 [Verbose] > │ let v128 : float = v119 + v82 │
00:00:37 #4070 [Verbose] > │ let v129 : float = v120 + v83 │
00:00:37 #4071 [Verbose] > │ let v130 : float = v121 + v85 │
00:00:37 #4072 [Verbose] > │ let v131 : float = v122 + v86 │
00:00:37 #4073 [Verbose] > │ let v132 : float = v123 + v87 │
00:00:37 #4074 [Verbose] > │ let v133 : float = v126 * 1.6666666666666669E-10 │
00:00:37 #4075 [Verbose] > │ let v134 : float = v6 + v133 │
00:00:37 #4076 [Verbose] > │ let v135 : float = 1.6666666666666669E-10 * v127 │
00:00:37 #4077 [Verbose] > │ let v136 : float = 1.6666666666666669E-10 * v128 │
00:00:37 #4078 [Verbose] > │ let v137 : float = 1.6666666666666669E-10 * v129 │
00:00:37 #4079 [Verbose] > │ let v138 : float = v3 + v135 │
00:00:37 #4080 [Verbose] > │ let v139 : float = v4 + v136 │
00:00:37 #4081 [Verbose] > │ let v140 : float = v5 + v137 │
00:00:37 #4082 [Verbose] > │ let v141 : float = 1.6666666666666669E-10 * v130 │
00:00:37 #4083 [Verbose] > │ let v142 : float = 1.6666666666666669E-10 * v131 │
00:00:37 #4084 [Verbose] > │ let v143 : float = 1.6666666666666669E-10 * v132 │
00:00:37 #4085 [Verbose] > │ let v144 : float = v7 + v141 │
00:00:37 #4086 [Verbose] > │ let v145 : float = v8 + v142 │
00:00:37 #4087 [Verbose] > │ let v146 : float = v9 + v143 │
00:00:37 #4088 [Verbose] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
00:00:37 #4089 [Verbose] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
00:00:37 #4090 [Verbose] > │ * float * float * float) -> struct (float * float * float * float * float * │
00:00:37 #4091 [Verbose] > │ float * float * float * float))) : (struct (float * float * float * float * │
00:00:37 #4092 [Verbose] > │ float * float * float * float * float) -> struct (float * float * float * │
00:00:37 #4093 [Verbose] > │ float * float * float * float * float * float)) = │
00:00:37 #4094 [Verbose] > │ closure1(v0) │
00:00:37 #4095 [Verbose] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:37 #4096 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:37 #4097 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:37 #4098 [Verbose] > │ let v9 : float = v8 * 0.0 │
00:00:37 #4099 [Verbose] > │ let v10 : float = v7 - v9 │
00:00:37 #4100 [Verbose] > │ let v11 : float = v9 - v6 │
00:00:37 #4101 [Verbose] > │ let v12 : float = v6 * 0.0 │
00:00:37 #4102 [Verbose] > │ let v13 : float = v7 * 0.0 │
00:00:37 #4103 [Verbose] > │ let v14 : float = v12 - v13 │
00:00:37 #4104 [Verbose] > │ let v15 : float = v0 * v10 │
00:00:37 #4105 [Verbose] > │ let v16 : float = v0 * v11 │
00:00:37 #4106 [Verbose] > │ let v17 : float = v0 * v14 │
00:00:37 #4107 [Verbose] > │ let v18 : float = v15 / v1 │
00:00:37 #4108 [Verbose] > │ let v19 : float = v16 / v1 │
00:00:37 #4109 [Verbose] > │ let v20 : float = v17 / v1 │
00:00:37 #4110 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v18, v19, v20) │
00:00:37 #4111 [Verbose] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:37 #4112 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:37 #4113 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:37 #4114 [Verbose] > │ let v9 : float = v8 * 0.0 │
00:00:37 #4115 [Verbose] > │ let v10 : float = v7 - v9 │
00:00:37 #4116 [Verbose] > │ let v11 : float = v9 - v6 │
00:00:37 #4117 [Verbose] > │ let v12 : float = v6 * 0.0 │
00:00:37 #4118 [Verbose] > │ let v13 : float = v7 * 0.0 │
00:00:37 #4119 [Verbose] > │ let v14 : float = v12 - v13 │
00:00:37 #4120 [Verbose] > │ let v15 : float = v0 * v10 │
00:00:37 #4121 [Verbose] > │ let v16 : float = v0 * v11 │
00:00:37 #4122 [Verbose] > │ let v17 : float = v0 * v14 │
00:00:37 #4123 [Verbose] > │ let v18 : float = v6 / 299792458.0 │
00:00:37 #4124 [Verbose] > │ let v19 : float = v7 / 299792458.0 │
00:00:37 #4125 [Verbose] > │ let v20 : float = v8 / 299792458.0 │
00:00:37 #4126 [Verbose] > │ let v21 : float = v18 * v18 │
00:00:37 #4127 [Verbose] > │ let v22 : float = v19 * v19 │
00:00:37 #4128 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:37 #4129 [Verbose] > │ let v24 : float = v20 * v20 │
00:00:37 #4130 [Verbose] > │ let v25 : float = v23 + v24 │
00:00:37 #4131 [Verbose] > │ let v26 : float = 1.0 - v25 │
00:00:37 #4132 [Verbose] > │ let v27 : float = sqrt v26 │
00:00:37 #4133 [Verbose] > │ let v28 : float = v15 * v18 │
00:00:37 #4134 [Verbose] > │ let v29 : float = v16 * v19 │
00:00:37 #4135 [Verbose] > │ let v30 : float = v28 + v29 │
00:00:37 #4136 [Verbose] > │ let v31 : float = v17 * v20 │
00:00:37 #4137 [Verbose] > │ let v32 : float = v30 + v31 │
00:00:37 #4138 [Verbose] > │ let v33 : float = v32 * v18 │
00:00:37 #4139 [Verbose] > │ let v34 : float = v32 * v19 │
00:00:37 #4140 [Verbose] > │ let v35 : float = v32 * v20 │
00:00:37 #4141 [Verbose] > │ let v36 : float = -1.0 * v33 │
00:00:37 #4142 [Verbose] > │ let v37 : float = -1.0 * v34 │
00:00:37 #4143 [Verbose] > │ let v38 : float = -1.0 * v35 │
00:00:37 #4144 [Verbose] > │ let v39 : float = v15 + v36 │
00:00:37 #4145 [Verbose] > │ let v40 : float = v16 + v37 │
00:00:37 #4146 [Verbose] > │ let v41 : float = v17 + v38 │
00:00:37 #4147 [Verbose] > │ let v42 : float = v27 * v39 │
00:00:37 #4148 [Verbose] > │ let v43 : float = v27 * v40 │
00:00:37 #4149 [Verbose] > │ let v44 : float = v27 * v41 │
00:00:37 #4150 [Verbose] > │ let v45 : float = v42 / v1 │
00:00:37 #4151 [Verbose] > │ let v46 : float = v43 / v1 │
00:00:37 #4152 [Verbose] > │ let v47 : float = v44 / v1 │
00:00:37 #4153 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v45, v46, v47) │
00:00:37 #4154 [Verbose] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
00:00:37 #4155 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:37 #4156 [Verbose] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
00:00:37 #4157 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
00:00:37 #4158 [Verbose] > │ int32) : struct (float * float * float * float * float * float * float * │
00:00:37 #4159 [Verbose] > │ float * float) = │
00:00:37 #4160 [Verbose] > │ let v11 : bool = v10 <= 0 │
00:00:37 #4161 [Verbose] > │ if v11 then │
00:00:37 #4162 [Verbose] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:37 #4163 [Verbose] > │ else │
00:00:37 #4164 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:37 #4165 [Verbose] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
00:00:37 #4166 [Verbose] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:37 #4167 [Verbose] > │ let v21 : int32 = v10 - 1 │
00:00:37 #4168 [Verbose] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
00:00:37 #4169 [Verbose] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:37 #4170 [Verbose] > │ match v0 with │
00:00:37 #4171 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:37 #4172 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:37 #4173 [Verbose] > │ method3(v11, v12) │
00:00:37 #4174 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:37 #4175 [Verbose] > │ v1 │
00:00:37 #4176 [Verbose] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
00:00:37 #4177 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:37 #4178 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:37 #4179 [Verbose] > │ let v3 : float = 1.602176621E-19 │
00:00:37 #4180 [Verbose] > │ let v4 : float = 1.672621898E-27 │
00:00:37 #4181 [Verbose] > │ let v5 : float = 0.0 │
00:00:37 #4182 [Verbose] > │ let v6 : float = 0.0 │
00:00:37 #4183 [Verbose] > │ let v7 : float = 0.0 │
00:00:37 #4184 [Verbose] > │ let v8 : float = 0.0 │
00:00:37 #4185 [Verbose] > │ let v9 : float = 0.0 │
00:00:37 #4186 [Verbose] > │ let v10 : float = 239833966.4 │
00:00:37 #4187 [Verbose] > │ let v11 : float = 0.0 │
00:00:37 #4188 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:37 #4189 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:37 #4190 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:37 #4191 [Verbose] > │ let v21 : bool = v2 < 100 │
00:00:37 #4192 [Verbose] > │ if v21 then │
00:00:37 #4193 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:37 #4194 [Verbose] > │ v1) │
00:00:37 #4195 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:37 #4196 [Verbose] > │ method1(v0, v22, v23) │
00:00:37 #4197 [Verbose] > │ else │
00:00:37 #4198 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:37 #4199 [Verbose] > │ method3(v1, v25) │
00:00:37 #4200 [Verbose] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:37 #4201 [Verbose] > │ match v0 with │
00:00:37 #4202 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:37 #4203 [Verbose] > │ let v12 : UH1 = method4(v11, v1) │
00:00:37 #4204 [Verbose] > │ UH1_0(v4, v5, v12) │
00:00:37 #4205 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:37 #4206 [Verbose] > │ v1 │
00:00:37 #4207 [Verbose] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
00:00:37 #4208 [Verbose] > │ match v0 with │
00:00:37 #4209 [Verbose] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
00:00:37 #4210 [Verbose] > │ let v6 : UH2 = UH2_0(v3, v1) │
00:00:37 #4211 [Verbose] > │ let v7 : UH2 = UH2_0(v4, v2) │
00:00:37 #4212 [Verbose] > │ method5(v5, v6, v7) │
00:00:37 #4213 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:37 #4214 [Verbose] > │ struct (v1, v2) │
00:00:37 #4215 [Verbose] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:37 #4216 [Verbose] > │ match v0 with │
00:00:37 #4217 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:37 #4218 [Verbose] > │ let v4 : UH2 = UH2_0(v2, v1) │
00:00:37 #4219 [Verbose] > │ method6(v3, v4) │
00:00:37 #4220 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:37 #4221 [Verbose] > │ v1 │
00:00:37 #4222 [Verbose] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
00:00:37 #4223 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:37 #4224 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:37 #4225 [Verbose] > │ let v3 : float = 1.602176621E-19 │
00:00:37 #4226 [Verbose] > │ let v4 : float = 1.672621898E-27 │
00:00:37 #4227 [Verbose] > │ let v5 : float = 0.0 │
00:00:37 #4228 [Verbose] > │ let v6 : float = 0.0 │
00:00:37 #4229 [Verbose] > │ let v7 : float = 0.0 │
00:00:37 #4230 [Verbose] > │ let v8 : float = 0.0 │
00:00:37 #4231 [Verbose] > │ let v9 : float = 0.0 │
00:00:37 #4232 [Verbose] > │ let v10 : float = 239833966.4 │
00:00:37 #4233 [Verbose] > │ let v11 : float = 0.0 │
00:00:37 #4234 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:37 #4235 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:37 #4236 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:37 #4237 [Verbose] > │ let v21 : bool = v2 < 165 │
00:00:37 #4238 [Verbose] > │ if v21 then │
00:00:37 #4239 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:37 #4240 [Verbose] > │ v1) │
00:00:37 #4241 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:37 #4242 [Verbose] > │ method7(v0, v22, v23) │
00:00:37 #4243 [Verbose] > │ else │
00:00:37 #4244 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:37 #4245 [Verbose] > │ method3(v1, v25) │
00:00:37 #4246 [Verbose] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:37 #4247 [Verbose] > │ match v0 with │
00:00:37 #4248 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:37 #4249 [Verbose] > │ let v12 : UH1 = method8(v11, v1) │
00:00:37 #4250 [Verbose] > │ UH1_0(v4, v5, v12) │
00:00:37 #4251 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:37 #4252 [Verbose] > │ v1 │
00:00:37 #4253 [Verbose] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
00:00:37 #4254 [Verbose] > │ match v0 with │
00:00:37 #4255 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:37 #4256 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:37 #4257 [Verbose] > │ method10(v3, v4) │
00:00:37 #4258 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:37 #4259 [Verbose] > │ v1 │
00:00:37 #4260 [Verbose] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
00:00:37 #4261 [Verbose] > │ match v1 with │
00:00:37 #4262 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:37 #4263 [Verbose] > │ v0.[int v2] <- v3 │
00:00:37 #4264 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:37 #4265 [Verbose] > │ method11(v0, v4, v5) │
00:00:37 #4266 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:37 #4267 [Verbose] > │ v2 │
00:00:37 #4268 [Verbose] > │ and method9 (v0 : UH2) : (float []) = │
00:00:37 #4269 [Verbose] > │ let v1 : int32 = 0 │
00:00:37 #4270 [Verbose] > │ let v2 : int32 = method10(v0, v1) │
00:00:37 #4271 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:37 #4272 [Verbose] > │ let v4 : int32 = 0 │
00:00:37 #4273 [Verbose] > │ let v5 : int32 = method11(v3, v0, v4) │
00:00:37 #4274 [Verbose] > │ v3 │
00:00:37 #4275 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:37 #4276 [Verbose] > │ []) * (float [])) [])) = │
00:00:37 #4277 [Verbose] > │ let v0 : ((struct (float * float * float * float * float * float * float │
00:00:37 #4278 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:37 #4279 [Verbose] > │ float * float * float)) -> (struct (float * float * float * float * float * │
00:00:37 #4280 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:37 #4281 [Verbose] > │ float * float * float * float * float))) = closure0() │
00:00:37 #4282 [Verbose] > │ let v1 : (struct (float * float * float * float * float * float * float │
00:00:37 #4283 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:37 #4284 [Verbose] > │ float * float * float)) = closure2() │
00:00:37 #4285 [Verbose] > │ let v2 : (struct (float * float * float * float * float * float * float │
00:00:37 #4286 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:37 #4287 [Verbose] > │ float * float * float)) = v0 v1 │
00:00:37 #4288 [Verbose] > │ let v3 : (struct (float * float * float * float * float * float * float │
00:00:37 #4289 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:37 #4290 [Verbose] > │ float * float * float)) = closure3() │
00:00:37 #4291 [Verbose] > │ let v4 : (struct (float * float * float * float * float * float * float │
00:00:37 #4292 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:37 #4293 [Verbose] > │ float * float * float)) = v0 v3 │
00:00:37 #4294 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:37 #4295 [Verbose] > │ let v6 : int32 = 0 │
00:00:37 #4296 [Verbose] > │ let v7 : UH0 = method1(v2, v5, v6) │
00:00:37 #4297 [Verbose] > │ let v8 : UH1 = UH1_1 │
00:00:37 #4298 [Verbose] > │ let v9 : UH1 = method4(v7, v8) │
00:00:37 #4299 [Verbose] > │ let v10 : UH2 = UH2_1 │
00:00:37 #4300 [Verbose] > │ let v11 : UH2 = UH2_1 │
00:00:37 #4301 [Verbose] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
00:00:37 #4302 [Verbose] > │ let v14 : UH2 = UH2_1 │
00:00:37 #4303 [Verbose] > │ let v15 : UH2 = method6(v12, v14) │
00:00:37 #4304 [Verbose] > │ let v16 : UH2 = UH2_1 │
00:00:37 #4305 [Verbose] > │ let v17 : UH2 = method6(v13, v16) │
00:00:37 #4306 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:37 #4307 [Verbose] > │ let v19 : int32 = 0 │
00:00:37 #4308 [Verbose] > │ let v20 : UH0 = method7(v4, v18, v19) │
00:00:37 #4309 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:37 #4310 [Verbose] > │ let v22 : UH1 = method8(v20, v21) │
00:00:37 #4311 [Verbose] > │ let v23 : UH2 = UH2_1 │
00:00:37 #4312 [Verbose] > │ let v24 : UH2 = UH2_1 │
00:00:37 #4313 [Verbose] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
00:00:37 #4314 [Verbose] > │ let v27 : UH2 = UH2_1 │
00:00:37 #4315 [Verbose] > │ let v28 : UH2 = method6(v25, v27) │
00:00:37 #4316 [Verbose] > │ let v29 : UH2 = UH2_1 │
00:00:37 #4317 [Verbose] > │ let v30 : UH2 = method6(v26, v29) │
00:00:37 #4318 [Verbose] > │ let v31 : (float []) = method9(v15) │
00:00:37 #4319 [Verbose] > │ let v32 : (float []) = method9(v17) │
00:00:37 #4320 [Verbose] > │ let v33 : (float []) = method9(v28) │
00:00:37 #4321 [Verbose] > │ let v34 : (float []) = method9(v30) │
00:00:37 #4322 [Verbose] > │ let v35 : string = "newtonian" │
00:00:37 #4323 [Verbose] > │ let v36 : string = "relativistic" │
00:00:37 #4324 [Verbose] > │ let v37 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:37 #4325 [Verbose] > │ (v35, v31, v32); struct (v36, v33, v34)|] │
00:00:37 #4326 [Verbose] > │ let v38 : string = "proton in a 1-t magnetic field" │
00:00:37 #4327 [Verbose] > │ let v39 : string = "x (m)" │
00:00:37 #4328 [Verbose] > │ let v40 : string = "y (m)" │
00:00:37 #4329 [Verbose] > │ struct (v38, v39, v40, v37) │
00:00:37 #4330 [Verbose] > │ method0() │
00:00:37 #4331 [Verbose] > │ │
00:00:37 #4332 [Verbose] > │ │
00:00:37 #4333 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:37 #4334 [Verbose] >
00:00:37 #4335 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:37 #4336 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:37 #4337 [Verbose] > │ ### system kinetic energy versus time 1 │
00:00:37 #4338 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:37 #4339 [Verbose] >
00:00:37 #4340 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:37 #4341 [Verbose] > // // test
00:00:37 #4342 [Verbose] >
00:00:37 #4343 [Verbose] > inl central_force f (particle_state st1) (particle_state st2) =
00:00:37 #4344 [Verbose] > inl r1 = st1.pos_vec
00:00:37 #4345 [Verbose] > inl r2 = st2.pos_vec
00:00:37 #4346 [Verbose] > inl r21 = r2 ^-^ r1
00:00:37 #4347 [Verbose] > inl r21mag = magnitude r21
00:00:37 #4348 [Verbose] > f r21mag *^ r21 ^/ r21mag
00:00:37 #4349 [Verbose] >
00:00:37 #4350 [Verbose] > inl billiard_force k re =
00:00:37 #4351 [Verbose] > inl f r =
00:00:37 #4352 [Verbose] > if r >= re
00:00:37 #4353 [Verbose] > then 0
00:00:37 #4354 [Verbose] > else -k * (r - re)
00:00:37 #4355 [Verbose] > central_force f
00:00:37 #4356 [Verbose] >
00:00:37 #4357 [Verbose] > type force_vector = vec
00:00:37 #4358 [Verbose] > type two_body_force = particle_state -> particle_state -> force_vector
00:00:37 #4359 [Verbose] >
00:00:37 #4360 [Verbose] > union force =
00:00:37 #4361 [Verbose] > | ExternalForce : i32 * one_body_force
00:00:37 #4362 [Verbose] > | InternalForce : i32 * i32 * two_body_force
00:00:37 #4363 [Verbose] >
00:00:37 #4364 [Verbose] > nominal multi_particle_state = list particle_state
00:00:37 #4365 [Verbose] >
00:00:37 #4366 [Verbose] > nominal d_multi_particle_state = list d_particle_state
00:00:37 #4367 [Verbose] >
00:00:37 #4368 [Verbose] > inl force_on n sts force =
00:00:37 #4369 [Verbose] > match force with
00:00:37 #4370 [Verbose] > | ExternalForce (n0, f_one_body) =>
00:00:37 #4371 [Verbose] > if n = n0
00:00:37 #4372 [Verbose] > then f_one_body
00:00:37 #4373 [Verbose] > else fun _ => zero_vec ()
00:00:37 #4374 [Verbose] > | InternalForce (n0, n1, f_two_body) =>
00:00:37 #4375 [Verbose] > if n = n0
00:00:37 #4376 [Verbose] > then f_two_body (sts |> listm'.item n1)
00:00:37 #4377 [Verbose] > elif n = n1
00:00:37 #4378 [Verbose] > then f_two_body (sts |> listm'.item n0)
00:00:37 #4379 [Verbose] > else fun _ => zero_vec ()
00:00:37 #4380 [Verbose] >
00:00:37 #4381 [Verbose] > inl forces_on n (multi_particle_state sts) fs =
00:00:37 #4382 [Verbose] > fs |> listm.map (force_on n sts)
00:00:37 #4383 [Verbose] >
00:00:37 #4384 [Verbose] > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state =
00:00:37 #4385 [Verbose] > inl deriv (n, st) =
00:00:37 #4386 [Verbose] > newton_second_ps (forces_on n (multi_particle_state sts) fs) st
00:00:37 #4387 [Verbose] > sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state
00:00:37 #4388 [Verbose] >
00:00:37 #4389 [Verbose] > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1)
00:00:37 #4390 [Verbose] > (d_multi_particle_state dsts2) =>
00:00:37 #4391 [Verbose] > d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2)
00:00:37 #4392 [Verbose] >
00:00:37 #4393 [Verbose] > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
00:00:37 #4394 [Verbose] > d_multi_particle_state (dsts |> listm.map (scale w))
00:00:37 #4395 [Verbose] >
00:00:37 #4396 [Verbose] > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
00:00:37 #4397 [Verbose] > inl (d_multi_particle_state dsts) =
00:00:37 #4398 [Verbose] > real
00:00:37 #4399 [Verbose] > match dsts with
00:00:37 #4400 [Verbose] > | d_multi_particle_state _ => dsts
00:00:37 #4401 [Verbose] > listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state
00:00:37 #4402 [Verbose] >
00:00:37 #4403 [Verbose] > inl euler_cromer_mps dt : numerical_method multi_particle_state
00:00:37 #4404 [Verbose] > d_multi_particle_state =
00:00:37 #4405 [Verbose] > fun deriv mpst0 =>
00:00:37 #4406 [Verbose] > inl mpst1 = euler dt deriv mpst0
00:00:37 #4407 [Verbose] > inl (multi_particle_state sts0) = mpst0
00:00:37 #4408 [Verbose] > inl (multi_particle_state sts1) = mpst1
00:00:37 #4409 [Verbose] > sts1
00:00:37 #4410 [Verbose] > |> listm'.zip_ sts0
00:00:37 #4411 [Verbose] > |> listm.map (fun ((particle_state st0), (particle_state st1)) =>
00:00:37 #4412 [Verbose] > particle_state {
00:00:37 #4413 [Verbose] > st1 with
00:00:37 #4414 [Verbose] > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
00:00:37 #4415 [Verbose] > }
00:00:37 #4416 [Verbose] > )
00:00:37 #4417 [Verbose] > |> multi_particle_state
00:00:37 #4418 [Verbose] >
00:00:37 #4419 [Verbose] > inl update_mps (method : numerical_method multi_particle_state
00:00:37 #4420 [Verbose] > d_multi_particle_state) =
00:00:37 #4421 [Verbose] > newton_second_mps >> method
00:00:37 #4422 [Verbose] >
00:00:37 #4423 [Verbose] > inl states_mps (method : numerical_method multi_particle_state
00:00:37 #4424 [Verbose] > d_multi_particle_state) =
00:00:37 #4425 [Verbose] > newton_second_mps >> method >> seq.iterate_
00:00:37 #4426 [Verbose] >
00:00:37 #4427 [Verbose] >
00:00:37 #4428 [Verbose] > inl kinetic_energy (particle_state st) =
00:00:37 #4429 [Verbose] > inl m = st.mass
00:00:37 #4430 [Verbose] > inl v = magnitude st.velocity
00:00:37 #4431 [Verbose] > 0.5 * m * v ** 2
00:00:37 #4432 [Verbose] >
00:00:37 #4433 [Verbose] > inl system_ke (multi_particle_state sts) =
00:00:37 #4434 [Verbose] > sts |> listm.map kinetic_energy |> listm'.sum
00:00:37 #4435 [Verbose] >
00:00:37 #4436 [Verbose] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
00:00:37 #4437 [Verbose] > inl r1 = st1.pos_vec
00:00:37 #4438 [Verbose] > inl r2 = st2.pos_vec
00:00:37 #4439 [Verbose] > inl r21 = r2 ^-^ r1
00:00:37 #4440 [Verbose] > inl r21mag = magnitude r21
00:00:37 #4441 [Verbose] > k * (r21mag - re) ** 2 / 2
00:00:37 #4442 [Verbose] >
00:00:37 #4443 [Verbose] > inl earth_surface_gravity_pe (particle_state st) =
00:00:37 #4444 [Verbose] > inl g = 9.80665
00:00:37 #4445 [Verbose] > inl m = st.mass
00:00:37 #4446 [Verbose] > inl z = st.pos_vec.z
00:00:37 #4447 [Verbose] > m * g * z
00:00:37 #4448 [Verbose] >
00:00:37 #4449 [Verbose] > inl two_springs_pe (multi_particle_state sts) =
00:00:37 #4450 [Verbose] > inl st0 = sts |> listm'.item 0i32
00:00:37 #4451 [Verbose] > inl st1 = sts |> listm'.item 1i32
00:00:37 #4452 [Verbose] > linear_spring_pe 100 0.5 (default_particle_state ()) st0
00:00:37 #4453 [Verbose] > + linear_spring_pe 100 0.5 st0 st1
00:00:37 #4454 [Verbose] > + earth_surface_gravity_pe st0
00:00:37 #4455 [Verbose] > + earth_surface_gravity_pe st1
00:00:37 #4456 [Verbose] >
00:00:37 #4457 [Verbose] > inl two_springs_me mpst =
00:00:37 #4458 [Verbose] > system_ke mpst + two_springs_pe mpst
00:00:37 #4459 [Verbose] >
00:00:37 #4460 [Verbose] > inl ball_radius () = 0.03
00:00:37 #4461 [Verbose] >
00:00:37 #4462 [Verbose] > inl billiard_forces k =
00:00:37 #4463 [Verbose] > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]
00:00:37 #4464 [Verbose] >
00:00:37 #4465 [Verbose] > inl billiard_update n_method k dt =
00:00:37 #4466 [Verbose] > update_mps (n_method dt) (billiard_forces k)
00:00:37 #4467 [Verbose] >
00:00:37 #4468 [Verbose] > inl billiard_initial () =
00:00:37 #4469 [Verbose] > inl ball_mass = 0.160
00:00:37 #4470 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:37 #4471 [Verbose] > multi_particle_state [[
00:00:37 #4472 [Verbose] > particle_state {
00:00:37 #4473 [Verbose] > default_particle_state' with
00:00:37 #4474 [Verbose] > mass = ball_mass
00:00:37 #4475 [Verbose] > pos_vec = zero_vec ()
00:00:37 #4476 [Verbose] > velocity = 0.2 *^ i_hat ()
00:00:37 #4477 [Verbose] > }
00:00:37 #4478 [Verbose] > particle_state {
00:00:37 #4479 [Verbose] > default_particle_state' with
00:00:37 #4480 [Verbose] > mass = ball_mass
00:00:37 #4481 [Verbose] > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
00:00:37 #4482 [Verbose] > velocity = zero_vec ()
00:00:37 #4483 [Verbose] > }
00:00:37 #4484 [Verbose] > ]]
00:00:37 #4485 [Verbose] >
00:00:37 #4486 [Verbose] > inl billiard_states ~n_method k dt =
00:00:37 #4487 [Verbose] > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
00:00:37 #4488 [Verbose] >
00:00:37 #4489 [Verbose] > inl billiard_states_finite n_method k dt =
00:00:37 #4490 [Verbose] > billiard_states n_method k dt
00:00:37 #4491 [Verbose] > >> Some
00:00:37 #4492 [Verbose] > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
00:00:37 #4493 [Verbose] > (mpst |> listm'.item 0i32).time <= 10
00:00:37 #4494 [Verbose] > )
00:00:37 #4495 [Verbose] >
00:00:37 #4496 [Verbose] > inl momentum (particle_state st) =
00:00:37 #4497 [Verbose] > inl m = st.mass
00:00:37 #4498 [Verbose] > inl v = st.velocity
00:00:37 #4499 [Verbose] > m *^ v
00:00:37 #4500 [Verbose] >
00:00:37 #4501 [Verbose] > inl system_p (multi_particle_state sts) =
00:00:37 #4502 [Verbose] > sts |> listm.map momentum |> sum_vec
00:00:37 #4503 [Verbose] >
00:00:37 #4504 [Verbose] >
00:00:37 #4505 [Verbose] > inl time_ke_ec_x, time_ke_ec_y =
00:00:37 #4506 [Verbose] > billiard_states_finite euler_cromer_mps 30 0.03
00:00:37 #4507 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:37 #4508 [Verbose] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:00:37 #4509 [Verbose] > )
00:00:37 #4510 [Verbose] > |> listm'.unzip
00:00:37 #4511 [Verbose] >
00:00:37 #4512 [Verbose] > inl time_ke_rk4_x, time_ke_rk4_y =
00:00:37 #4513 [Verbose] > billiard_states_finite runge_kutta_4 30 0.03
00:00:37 #4514 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:37 #4515 [Verbose] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:00:37 #4516 [Verbose] > )
00:00:37 #4517 [Verbose] > |> listm'.unzip
00:00:37 #4518 [Verbose] >
00:00:37 #4519 [Verbose] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
00:00:37 #4520 [Verbose] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
00:00:37 #4521 [Verbose] >
00:00:37 #4522 [Verbose] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
00:00:37 #4523 [Verbose] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
00:00:37 #4524 [Verbose] >
00:00:37 #4525 [Verbose] > "system kinetic energy versus time",
00:00:37 #4526 [Verbose] > "time (s)",
00:00:37 #4527 [Verbose] > "system kinetic energy (j)",
00:00:37 #4528 [Verbose] > ;[[
00:00:37 #4529 [Verbose] > "euler-cromer", time_ke_ec_x, time_ke_ec_y
00:00:37 #4530 [Verbose] > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
00:00:37 #4531 [Verbose] > ]]
00:00:37 #4532 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0984-8406-8e80126a3b7a\main.spi
00:00:38 #4533 [Verbose] >
00:00:38 #4534 [Verbose] > ╭─[ 1.53s - return value ]─────────────────────────────────────────────────────╮
00:00:38 #4535 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:38 #4536 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:38 #4537 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:38 #4538 [Verbose] > │ stroke="none"/> │
00:00:38 #4539 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:38 #4540 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:38 #4541 [Verbose] > │ fill="#FFFFFF"> │
00:00:38 #4542 [Verbose] > │ system kinetic energy versus time │
00:00:38 #4543 [Verbose] > │ </text> │
00:00:38 #4544 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:38 #4545 [Verbose] > │ y2="75"/> │
00:00:38 #4546 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:38 #4547 [Verbose] > │ y2="75"/> │
00:00:38 #4548 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:38 #4549 [Verbose] > │ y2="75"/> │
00:00:38 #4550 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:38 #4551 [Verbose] > │ y2="75"/> │
00:00:38 #4552 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1... │
00:00:38 #4553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #4554 [Verbose] >
00:00:38 #4555 [Verbose] > ╭─[ 1.55s - stdout ]───────────────────────────────────────────────────────────╮
00:00:38 #4556 [Verbose] > │ type UH0 = │
00:00:38 #4557 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:38 #4558 [Verbose] > │ * float * UH0 │
00:00:38 #4559 [Verbose] > │ | UH0_1 │
00:00:38 #4560 [Verbose] > │ and UH1 = │
00:00:38 #4561 [Verbose] > │ | UH1_0 of float * float * float * float * float * float * float * float │
00:00:38 #4562 [Verbose] > │ * float * UH1 │
00:00:38 #4563 [Verbose] > │ | UH1_1 │
00:00:38 #4564 [Verbose] > │ and UH2 = │
00:00:38 #4565 [Verbose] > │ | UH2_0 of float * float * float * float * float * float * float * float │
00:00:38 #4566 [Verbose] > │ * float * float * float * float * float * float * float * float * float * │
00:00:38 #4567 [Verbose] > │ float * UH2 │
00:00:38 #4568 [Verbose] > │ | UH2_1 │
00:00:38 #4569 [Verbose] > │ and UH3 = │
00:00:38 #4570 [Verbose] > │ | UH3_0 of int32 * float * float * float * float * float * float * float │
00:00:38 #4571 [Verbose] > │ * float * float * UH3 │
00:00:38 #4572 [Verbose] > │ | UH3_1 │
00:00:38 #4573 [Verbose] > │ and [<Struct>] US0 = │
00:00:38 #4574 [Verbose] > │ | US0_0 │
00:00:38 #4575 [Verbose] > │ | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
00:00:38 #4576 [Verbose] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
00:00:38 #4577 [Verbose] > │ and UH4 = │
00:00:38 #4578 [Verbose] > │ | UH4_0 of UH0 * UH4 │
00:00:38 #4579 [Verbose] > │ | UH4_1 │
00:00:38 #4580 [Verbose] > │ and UH5 = │
00:00:38 #4581 [Verbose] > │ | UH5_0 of float * float * UH5 │
00:00:38 #4582 [Verbose] > │ | UH5_1 │
00:00:38 #4583 [Verbose] > │ and UH6 = │
00:00:38 #4584 [Verbose] > │ | UH6_0 of float * UH6 │
00:00:38 #4585 [Verbose] > │ | UH6_1 │
00:00:38 #4586 [Verbose] > │ let rec method2 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:38 #4587 [Verbose] > │ match v0 with │
00:00:38 #4588 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4589 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:38 #4590 [Verbose] > │ method2(v11, v12) │
00:00:38 #4591 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4592 [Verbose] > │ v1 │
00:00:38 #4593 [Verbose] > │ and method1 (v0 : float, v1 : UH0, v2 : UH1, v3 : UH0) : UH0 = │
00:00:38 #4594 [Verbose] > │ match v2 with │
00:00:38 #4595 [Verbose] > │ | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
00:00:38 #4596 [Verbose] > │ match v3 with │
00:00:38 #4597 [Verbose] > │ | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* Cons │
00:00:38 #4598 [Verbose] > │ *) │
00:00:38 #4599 [Verbose] > │ let v24 : float = v9 * v0 │
00:00:38 #4600 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:38 #4601 [Verbose] > │ let v26 : float = v0 * v6 │
00:00:38 #4602 [Verbose] > │ let v27 : float = v0 * v7 │
00:00:38 #4603 [Verbose] > │ let v28 : float = v0 * v8 │
00:00:38 #4604 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:38 #4605 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:38 #4606 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:38 #4607 [Verbose] > │ let v32 : float = v0 * v10 │
00:00:38 #4608 [Verbose] > │ let v33 : float = v0 * v11 │
00:00:38 #4609 [Verbose] > │ let v34 : float = v0 * v12 │
00:00:38 #4610 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:38 #4611 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:38 #4612 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:38 #4613 [Verbose] > │ let v38 : UH0 = UH0_0(v14, v15, v29, v30, v31, v25, v35, v36, │
00:00:38 #4614 [Verbose] > │ v37, v1) │
00:00:38 #4615 [Verbose] > │ method1(v0, v38, v13, v23) │
00:00:38 #4616 [Verbose] > │ | _ -> │
00:00:38 #4617 [Verbose] > │ let v40 : UH0 = UH0_1 │
00:00:38 #4618 [Verbose] > │ method2(v1, v40) │
00:00:38 #4619 [Verbose] > │ | _ -> │
00:00:38 #4620 [Verbose] > │ let v43 : UH0 = UH0_1 │
00:00:38 #4621 [Verbose] > │ method2(v1, v43) │
00:00:38 #4622 [Verbose] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:38 #4623 [Verbose] > │ match v0 with │
00:00:38 #4624 [Verbose] > │ | UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, │
00:00:38 #4625 [Verbose] > │ v16, v17, v18, v19, v20) -> (* Cons *) │
00:00:38 #4626 [Verbose] > │ let v21 : UH2 = UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, │
00:00:38 #4627 [Verbose] > │ v13, v14, v15, v16, v17, v18, v19, v1) │
00:00:38 #4628 [Verbose] > │ method4(v20, v21) │
00:00:38 #4629 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:38 #4630 [Verbose] > │ v1 │
00:00:38 #4631 [Verbose] > │ and method3 (v0 : UH2, v1 : UH0, v2 : UH0) : UH2 = │
00:00:38 #4632 [Verbose] > │ match v1 with │
00:00:38 #4633 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4634 [Verbose] > │ match v2 with │
00:00:38 #4635 [Verbose] > │ | UH0_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
00:00:38 #4636 [Verbose] > │ *) │
00:00:38 #4637 [Verbose] > │ let v23 : UH2 = UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v13, │
00:00:38 #4638 [Verbose] > │ v14, v15, v16, v17, v18, v19, v20, v21, v0) │
00:00:38 #4639 [Verbose] > │ method3(v23, v12, v22) │
00:00:38 #4640 [Verbose] > │ | _ -> │
00:00:38 #4641 [Verbose] > │ let v25 : UH2 = UH2_1 │
00:00:38 #4642 [Verbose] > │ method4(v0, v25) │
00:00:38 #4643 [Verbose] > │ | _ -> │
00:00:38 #4644 [Verbose] > │ let v28 : UH2 = UH2_1 │
00:00:38 #4645 [Verbose] > │ method4(v0, v28) │
00:00:38 #4646 [Verbose] > │ and method5 (v0 : float, v1 : UH2, v2 : UH0) : UH0 = │
00:00:38 #4647 [Verbose] > │ match v1 with │
00:00:38 #4648 [Verbose] > │ | UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, │
00:00:38 #4649 [Verbose] > │ v17, v18, v19, v20, v21) -> (* Cons *) │
00:00:38 #4650 [Verbose] > │ let v22 : UH0 = method5(v0, v21, v2) │
00:00:38 #4651 [Verbose] > │ let v23 : float = v0 * v18 │
00:00:38 #4652 [Verbose] > │ let v24 : float = v0 * v19 │
00:00:38 #4653 [Verbose] > │ let v25 : float = v0 * v20 │
00:00:38 #4654 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:38 #4655 [Verbose] > │ let v27 : float = v6 + v24 │
00:00:38 #4656 [Verbose] > │ let v28 : float = v7 + v25 │
00:00:38 #4657 [Verbose] > │ UH0_0(v12, v13, v26, v27, v28, v17, v18, v19, v20, v22) │
00:00:38 #4658 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:38 #4659 [Verbose] > │ v2 │
00:00:38 #4660 [Verbose] > │ and closure2 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:38 #4661 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:38 #4662 [Verbose] > │ let v4 : UH0 = UH0_1 │
00:00:38 #4663 [Verbose] > │ let v5 : UH0 = method1(v0, v4, v3, v2) │
00:00:38 #4664 [Verbose] > │ let v6 : UH2 = UH2_1 │
00:00:38 #4665 [Verbose] > │ let v7 : UH2 = method3(v6, v2, v5) │
00:00:38 #4666 [Verbose] > │ let v8 : UH0 = UH0_1 │
00:00:38 #4667 [Verbose] > │ let v9 : UH0 = method5(v0, v7, v8) │
00:00:38 #4668 [Verbose] > │ v9 │
00:00:38 #4669 [Verbose] > │ and closure1 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:38 #4670 [Verbose] > │ closure2(v0, v1) │
00:00:38 #4671 [Verbose] > │ and closure0 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:38 #4672 [Verbose] > │ closure1(v0) │
00:00:38 #4673 [Verbose] > │ and method6 (v0 : UH0, v1 : UH3, v2 : int32) : struct (UH3 * int32) = │
00:00:38 #4674 [Verbose] > │ match v0 with │
00:00:38 #4675 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4676 [Verbose] > │ let v13 : int32 = v2 + 1 │
00:00:38 #4677 [Verbose] > │ let v14 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
00:00:38 #4678 [Verbose] > │ method6(v12, v14, v13) │
00:00:38 #4679 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4680 [Verbose] > │ struct (v1, v2) │
00:00:38 #4681 [Verbose] > │ and method7 (v0 : UH3, v1 : UH3) : UH3 = │
00:00:38 #4682 [Verbose] > │ match v0 with │
00:00:38 #4683 [Verbose] > │ | UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4684 [Verbose] > │ let v13 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
00:00:38 #4685 [Verbose] > │ method7(v12, v13) │
00:00:38 #4686 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:38 #4687 [Verbose] > │ v1 │
00:00:38 #4688 [Verbose] > │ and closure4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
00:00:38 #4689 [Verbose] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
00:00:38 #4690 [Verbose] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:38 #4691 [Verbose] > │ : float, v17 : float) : struct (float * float * float) = │
00:00:38 #4692 [Verbose] > │ let v18 : float = -1.0 * v2 │
00:00:38 #4693 [Verbose] > │ let v19 : float = -1.0 * v3 │
00:00:38 #4694 [Verbose] > │ let v20 : float = -1.0 * v4 │
00:00:38 #4695 [Verbose] > │ let v21 : float = v11 + v18 │
00:00:38 #4696 [Verbose] > │ let v22 : float = v12 + v19 │
00:00:38 #4697 [Verbose] > │ let v23 : float = v13 + v20 │
00:00:38 #4698 [Verbose] > │ let v24 : float = v21 * v21 │
00:00:38 #4699 [Verbose] > │ let v25 : float = v22 * v22 │
00:00:38 #4700 [Verbose] > │ let v26 : float = v24 + v25 │
00:00:38 #4701 [Verbose] > │ let v27 : float = v23 * v23 │
00:00:38 #4702 [Verbose] > │ let v28 : float = v26 + v27 │
00:00:38 #4703 [Verbose] > │ let v29 : float = sqrt v28 │
00:00:38 #4704 [Verbose] > │ let v30 : bool = v29 >= 0.06 │
00:00:38 #4705 [Verbose] > │ let v33 : float = │
00:00:38 #4706 [Verbose] > │ if v30 then │
00:00:38 #4707 [Verbose] > │ 0.0 │
00:00:38 #4708 [Verbose] > │ else │
00:00:38 #4709 [Verbose] > │ let v31 : float = v29 - 0.06 │
00:00:38 #4710 [Verbose] > │ let v32 : float = -30.0 * v31 │
00:00:38 #4711 [Verbose] > │ v32 │
00:00:38 #4712 [Verbose] > │ let v34 : float = v33 * v21 │
00:00:38 #4713 [Verbose] > │ let v35 : float = v33 * v22 │
00:00:38 #4714 [Verbose] > │ let v36 : float = v33 * v23 │
00:00:38 #4715 [Verbose] > │ let v37 : float = v34 / v29 │
00:00:38 #4716 [Verbose] > │ let v38 : float = v35 / v29 │
00:00:38 #4717 [Verbose] > │ let v39 : float = v36 / v29 │
00:00:38 #4718 [Verbose] > │ struct (v37, v38, v39) │
00:00:38 #4719 [Verbose] > │ and closure5 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:38 #4720 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:38 #4721 [Verbose] > │ float * float) = │
00:00:38 #4722 [Verbose] > │ struct (0.0, 0.0, 0.0) │
00:00:38 #4723 [Verbose] > │ and method8 (v0 : UH0, v1 : UH3, v2 : UH1) : UH1 = │
00:00:38 #4724 [Verbose] > │ match v1 with │
00:00:38 #4725 [Verbose] > │ | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
00:00:38 #4726 [Verbose] > │ let v14 : UH1 = method8(v0, v13, v2) │
00:00:38 #4727 [Verbose] > │ let v15 : bool = v3 = 0 │
00:00:38 #4728 [Verbose] > │ let v134 : (struct (float * float * float * float * float * float * │
00:00:38 #4729 [Verbose] > │ float * float * float) -> struct (float * float * float)) = │
00:00:38 #4730 [Verbose] > │ if v15 then │
00:00:38 #4731 [Verbose] > │ let v42 : US0 = │
00:00:38 #4732 [Verbose] > │ match v0 with │
00:00:38 #4733 [Verbose] > │ | UH0_0(v16, v17, v18, v19, v20, v21, v22, v23, v24, │
00:00:38 #4734 [Verbose] > │ v25) -> (* Cons *) │
00:00:38 #4735 [Verbose] > │ match v25 with │
00:00:38 #4736 [Verbose] > │ | UH0_0(v26, v27, v28, v29, v30, v31, v32, v33, v34, │
00:00:38 #4737 [Verbose] > │ v35) -> (* Cons *) │
00:00:38 #4738 [Verbose] > │ US0_1(v26, v27, v28, v29, v30, v31, v32, v33, │
00:00:38 #4739 [Verbose] > │ v34) │
00:00:38 #4740 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4741 [Verbose] > │ US0_0 │
00:00:38 #4742 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4743 [Verbose] > │ US0_0 │
00:00:38 #4744 [Verbose] > │ let struct (v70 : float, v71 : float, v72 : float, v73 : │
00:00:38 #4745 [Verbose] > │ float, v74 : float, v75 : float, v76 : float, v77 : float, v78 : float) = │
00:00:38 #4746 [Verbose] > │ match v42 with │
00:00:38 #4747 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4748 [Verbose] > │ failwith<struct (float * float * float * float * │
00:00:38 #4749 [Verbose] > │ float * float * float * float * float)> "Option does not have a value." │
00:00:38 #4750 [Verbose] > │ | US0_1(v43, v44, v45, v46, v47, v48, v49, v50, v51) -> │
00:00:38 #4751 [Verbose] > │ (* Some *) │
00:00:38 #4752 [Verbose] > │ struct (v43, v44, v45, v46, v47, v48, v49, v50, v51) │
00:00:38 #4753 [Verbose] > │ closure4(v70, v71, v72, v73, v74, v75, v76, v77, v78) │
00:00:38 #4754 [Verbose] > │ else │
00:00:38 #4755 [Verbose] > │ let v80 : bool = v3 = 1 │
00:00:38 #4756 [Verbose] > │ if v80 then │
00:00:38 #4757 [Verbose] > │ let v94 : US0 = │
00:00:38 #4758 [Verbose] > │ match v0 with │
00:00:38 #4759 [Verbose] > │ | UH0_0(v81, v82, v83, v84, v85, v86, v87, v88, v89, │
00:00:38 #4760 [Verbose] > │ v90) -> (* Cons *) │
00:00:38 #4761 [Verbose] > │ US0_1(v81, v82, v83, v84, v85, v86, v87, v88, │
00:00:38 #4762 [Verbose] > │ v89) │
00:00:38 #4763 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4764 [Verbose] > │ US0_0 │
00:00:38 #4765 [Verbose] > │ let struct (v122 : float, v123 : float, v124 : float, │
00:00:38 #4766 [Verbose] > │ v125 : float, v126 : float, v127 : float, v128 : float, v129 : float, v130 : │
00:00:38 #4767 [Verbose] > │ float) = │
00:00:38 #4768 [Verbose] > │ match v94 with │
00:00:38 #4769 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4770 [Verbose] > │ failwith<struct (float * float * float * float * │
00:00:38 #4771 [Verbose] > │ float * float * float * float * float)> "Option does not have a value." │
00:00:38 #4772 [Verbose] > │ | US0_1(v95, v96, v97, v98, v99, v100, v101, v102, │
00:00:38 #4773 [Verbose] > │ v103) -> (* Some *) │
00:00:38 #4774 [Verbose] > │ struct (v95, v96, v97, v98, v99, v100, v101, │
00:00:38 #4775 [Verbose] > │ v102, v103) │
00:00:38 #4776 [Verbose] > │ closure4(v122, v123, v124, v125, v126, v127, v128, v129, │
00:00:38 #4777 [Verbose] > │ v130) │
00:00:38 #4778 [Verbose] > │ else │
00:00:38 #4779 [Verbose] > │ closure5() │
00:00:38 #4780 [Verbose] > │ let struct (v135 : float, v136 : float, v137 : float) = v134 struct │
00:00:38 #4781 [Verbose] > │ (v4, v5, v6, v7, v8, v9, v10, v11, v12) │
00:00:38 #4782 [Verbose] > │ let v138 : float = v135 / v5 │
00:00:38 #4783 [Verbose] > │ let v139 : float = v136 / v5 │
00:00:38 #4784 [Verbose] > │ let v140 : float = v137 / v5 │
00:00:38 #4785 [Verbose] > │ UH1_0(0.0, 0.0, v10, v11, v12, 1.0, v138, v139, v140, v14) │
00:00:38 #4786 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:38 #4787 [Verbose] > │ v2 │
00:00:38 #4788 [Verbose] > │ and closure3 () (v0 : UH0) : UH1 = │
00:00:38 #4789 [Verbose] > │ let v1 : UH3 = UH3_1 │
00:00:38 #4790 [Verbose] > │ let v2 : int32 = 0 │
00:00:38 #4791 [Verbose] > │ let struct (v3 : UH3, v4 : int32) = method6(v0, v1, v2) │
00:00:38 #4792 [Verbose] > │ let v5 : UH3 = UH3_1 │
00:00:38 #4793 [Verbose] > │ let v6 : UH3 = method7(v3, v5) │
00:00:38 #4794 [Verbose] > │ let v7 : UH1 = UH1_1 │
00:00:38 #4795 [Verbose] > │ let v8 : UH1 = method8(v0, v6, v7) │
00:00:38 #4796 [Verbose] > │ v8 │
00:00:38 #4797 [Verbose] > │ and method10 (v0 : (UH0 -> UH0), v1 : UH0, v2 : int32) : UH0 = │
00:00:38 #4798 [Verbose] > │ let v3 : bool = v2 <= 0 │
00:00:38 #4799 [Verbose] > │ if v3 then │
00:00:38 #4800 [Verbose] > │ v1 │
00:00:38 #4801 [Verbose] > │ else │
00:00:38 #4802 [Verbose] > │ let v4 : UH0 = v0 v1 │
00:00:38 #4803 [Verbose] > │ let v5 : int32 = v2 - 1 │
00:00:38 #4804 [Verbose] > │ method10(v0, v4, v5) │
00:00:38 #4805 [Verbose] > │ and method11 (v0 : UH4, v1 : UH4) : UH4 = │
00:00:38 #4806 [Verbose] > │ match v0 with │
00:00:38 #4807 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4808 [Verbose] > │ let v4 : UH4 = UH4_0(v2, v1) │
00:00:38 #4809 [Verbose] > │ method11(v3, v4) │
00:00:38 #4810 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #4811 [Verbose] > │ v1 │
00:00:38 #4812 [Verbose] > │ and method9 (v0 : (UH0 -> UH0), v1 : UH4, v2 : int32) : UH4 = │
00:00:38 #4813 [Verbose] > │ let v3 : float = 0.0 │
00:00:38 #4814 [Verbose] > │ let v4 : float = 0.16 │
00:00:38 #4815 [Verbose] > │ let v5 : float = 0.0 │
00:00:38 #4816 [Verbose] > │ let v6 : float = 0.0 │
00:00:38 #4817 [Verbose] > │ let v7 : float = 0.0 │
00:00:38 #4818 [Verbose] > │ let v8 : float = 0.0 │
00:00:38 #4819 [Verbose] > │ let v9 : float = 0.2 │
00:00:38 #4820 [Verbose] > │ let v10 : float = 0.0 │
00:00:38 #4821 [Verbose] > │ let v11 : float = 0.0 │
00:00:38 #4822 [Verbose] > │ let v12 : float = 1.0 │
00:00:38 #4823 [Verbose] > │ let v13 : float = 0.02 │
00:00:38 #4824 [Verbose] > │ let v14 : float = 0.0 │
00:00:38 #4825 [Verbose] > │ let v15 : float = 0.0 │
00:00:38 #4826 [Verbose] > │ let v16 : float = 0.0 │
00:00:38 #4827 [Verbose] > │ let v17 : float = 0.0 │
00:00:38 #4828 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:38 #4829 [Verbose] > │ let v19 : UH0 = UH0_0(v3, v4, v12, v13, v14, v8, v15, v16, v17, v18) │
00:00:38 #4830 [Verbose] > │ let v20 : UH0 = UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v19) │
00:00:38 #4831 [Verbose] > │ let v21 : UH0 = method10(v0, v20, v2) │
00:00:38 #4832 [Verbose] > │ let v35 : US0 = │
00:00:38 #4833 [Verbose] > │ match v21 with │
00:00:38 #4834 [Verbose] > │ | UH0_0(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (* Cons │
00:00:38 #4835 [Verbose] > │ *) │
00:00:38 #4836 [Verbose] > │ US0_1(v22, v23, v24, v25, v26, v27, v28, v29, v30) │
00:00:38 #4837 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4838 [Verbose] > │ US0_0 │
00:00:38 #4839 [Verbose] > │ let struct (v63 : float, v64 : float, v65 : float, v66 : float, v67 : │
00:00:38 #4840 [Verbose] > │ float, v68 : float, v69 : float, v70 : float, v71 : float) = │
00:00:38 #4841 [Verbose] > │ match v35 with │
00:00:38 #4842 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4843 [Verbose] > │ failwith<struct (float * float * float * float * float * float * │
00:00:38 #4844 [Verbose] > │ float * float * float)> "Option does not have a value." │
00:00:38 #4845 [Verbose] > │ | US0_1(v36, v37, v38, v39, v40, v41, v42, v43, v44) -> (* Some *) │
00:00:38 #4846 [Verbose] > │ struct (v36, v37, v38, v39, v40, v41, v42, v43, v44) │
00:00:38 #4847 [Verbose] > │ let v72 : bool = v68 <= 10.0 │
00:00:38 #4848 [Verbose] > │ if v72 then │
00:00:38 #4849 [Verbose] > │ let v73 : UH4 = UH4_0(v21, v1) │
00:00:38 #4850 [Verbose] > │ let v74 : int32 = v2 + 1 │
00:00:38 #4851 [Verbose] > │ method9(v0, v73, v74) │
00:00:38 #4852 [Verbose] > │ else │
00:00:38 #4853 [Verbose] > │ let v76 : UH4 = UH4_1 │
00:00:38 #4854 [Verbose] > │ method11(v1, v76) │
00:00:38 #4855 [Verbose] > │ and method13 (v0 : UH0, v1 : UH6) : UH6 = │
00:00:38 #4856 [Verbose] > │ match v0 with │
00:00:38 #4857 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4858 [Verbose] > │ let v12 : UH6 = method13(v11, v1) │
00:00:38 #4859 [Verbose] > │ let v13 : float = v8 * v8 │
00:00:38 #4860 [Verbose] > │ let v14 : float = v9 * v9 │
00:00:38 #4861 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:38 #4862 [Verbose] > │ let v16 : float = v10 * v10 │
00:00:38 #4863 [Verbose] > │ let v17 : float = v15 + v16 │
00:00:38 #4864 [Verbose] > │ let v18 : float = sqrt v17 │
00:00:38 #4865 [Verbose] > │ let v19 : float = 0.5 * v3 │
00:00:38 #4866 [Verbose] > │ let v20 : float = v18 ** 2.0 │
00:00:38 #4867 [Verbose] > │ let v21 : float = v19 * v20 │
00:00:38 #4868 [Verbose] > │ UH6_0(v21, v12) │
00:00:38 #4869 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4870 [Verbose] > │ v1 │
00:00:38 #4871 [Verbose] > │ and method14 (v0 : UH6, v1 : float) : float = │
00:00:38 #4872 [Verbose] > │ match v0 with │
00:00:38 #4873 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #4874 [Verbose] > │ let v4 : float = v1 + v2 │
00:00:38 #4875 [Verbose] > │ method14(v3, v4) │
00:00:38 #4876 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #4877 [Verbose] > │ v1 │
00:00:38 #4878 [Verbose] > │ and method12 (v0 : UH4, v1 : UH5) : UH5 = │
00:00:38 #4879 [Verbose] > │ match v0 with │
00:00:38 #4880 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4881 [Verbose] > │ let v4 : UH5 = method12(v3, v1) │
00:00:38 #4882 [Verbose] > │ let v18 : US0 = │
00:00:38 #4883 [Verbose] > │ match v2 with │
00:00:38 #4884 [Verbose] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
00:00:38 #4885 [Verbose] > │ *) │
00:00:38 #4886 [Verbose] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
00:00:38 #4887 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4888 [Verbose] > │ US0_0 │
00:00:38 #4889 [Verbose] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
00:00:38 #4890 [Verbose] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
00:00:38 #4891 [Verbose] > │ match v18 with │
00:00:38 #4892 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4893 [Verbose] > │ failwith<struct (float * float * float * float * float * │
00:00:38 #4894 [Verbose] > │ float * float * float * float)> "Option does not have a value." │
00:00:38 #4895 [Verbose] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
00:00:38 #4896 [Verbose] > │ *) │
00:00:38 #4897 [Verbose] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
00:00:38 #4898 [Verbose] > │ let v55 : UH6 = UH6_1 │
00:00:38 #4899 [Verbose] > │ let v56 : UH6 = method13(v2, v55) │
00:00:38 #4900 [Verbose] > │ let v57 : float = 0.0 │
00:00:38 #4901 [Verbose] > │ let v58 : float = method14(v56, v57) │
00:00:38 #4902 [Verbose] > │ UH5_0(v51, v58, v4) │
00:00:38 #4903 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #4904 [Verbose] > │ v1 │
00:00:38 #4905 [Verbose] > │ and method15 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) = │
00:00:38 #4906 [Verbose] > │ match v0 with │
00:00:38 #4907 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:38 #4908 [Verbose] > │ let v6 : UH6 = UH6_0(v3, v1) │
00:00:38 #4909 [Verbose] > │ let v7 : UH6 = UH6_0(v4, v2) │
00:00:38 #4910 [Verbose] > │ method15(v5, v6, v7) │
00:00:38 #4911 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:38 #4912 [Verbose] > │ struct (v1, v2) │
00:00:38 #4913 [Verbose] > │ and method16 (v0 : UH6, v1 : UH6) : UH6 = │
00:00:38 #4914 [Verbose] > │ match v0 with │
00:00:38 #4915 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #4916 [Verbose] > │ let v4 : UH6 = UH6_0(v2, v1) │
00:00:38 #4917 [Verbose] > │ method16(v3, v4) │
00:00:38 #4918 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #4919 [Verbose] > │ v1 │
00:00:38 #4920 [Verbose] > │ and method18 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:38 #4921 [Verbose] > │ match v0 with │
00:00:38 #4922 [Verbose] > │ | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4923 [Verbose] > │ let v12 : UH1 = UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:38 #4924 [Verbose] > │ method18(v11, v12) │
00:00:38 #4925 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:38 #4926 [Verbose] > │ v1 │
00:00:38 #4927 [Verbose] > │ and method17 (v0 : UH1, v1 : UH1, v2 : UH1) : UH1 = │
00:00:38 #4928 [Verbose] > │ match v1 with │
00:00:38 #4929 [Verbose] > │ | UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4930 [Verbose] > │ match v2 with │
00:00:38 #4931 [Verbose] > │ | UH1_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
00:00:38 #4932 [Verbose] > │ *) │
00:00:38 #4933 [Verbose] > │ let v23 : float = v3 + v13 │
00:00:38 #4934 [Verbose] > │ let v24 : float = v4 + v14 │
00:00:38 #4935 [Verbose] > │ let v25 : float = v8 + v18 │
00:00:38 #4936 [Verbose] > │ let v26 : float = v5 + v15 │
00:00:38 #4937 [Verbose] > │ let v27 : float = v6 + v16 │
00:00:38 #4938 [Verbose] > │ let v28 : float = v7 + v17 │
00:00:38 #4939 [Verbose] > │ let v29 : float = v9 + v19 │
00:00:38 #4940 [Verbose] > │ let v30 : float = v10 + v20 │
00:00:38 #4941 [Verbose] > │ let v31 : float = v11 + v21 │
00:00:38 #4942 [Verbose] > │ let v32 : UH1 = UH1_0(v23, v24, v26, v27, v28, v25, v29, v30, │
00:00:38 #4943 [Verbose] > │ v31, v0) │
00:00:38 #4944 [Verbose] > │ method17(v32, v12, v22) │
00:00:38 #4945 [Verbose] > │ | _ -> │
00:00:38 #4946 [Verbose] > │ let v34 : UH1 = UH1_1 │
00:00:38 #4947 [Verbose] > │ method18(v0, v34) │
00:00:38 #4948 [Verbose] > │ | _ -> │
00:00:38 #4949 [Verbose] > │ let v37 : UH1 = UH1_1 │
00:00:38 #4950 [Verbose] > │ method18(v0, v37) │
00:00:38 #4951 [Verbose] > │ and closure8 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:38 #4952 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:38 #4953 [Verbose] > │ let v4 : float = v0 / 2.0 │
00:00:38 #4954 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:38 #4955 [Verbose] > │ let v6 : UH0 = method1(v4, v5, v3, v2) │
00:00:38 #4956 [Verbose] > │ let v7 : UH1 = v1 v6 │
00:00:38 #4957 [Verbose] > │ let v8 : UH0 = UH0_1 │
00:00:38 #4958 [Verbose] > │ let v9 : UH0 = method1(v4, v8, v7, v2) │
00:00:38 #4959 [Verbose] > │ let v10 : UH1 = v1 v9 │
00:00:38 #4960 [Verbose] > │ let v11 : UH0 = UH0_1 │
00:00:38 #4961 [Verbose] > │ let v12 : UH0 = method1(v0, v11, v10, v2) │
00:00:38 #4962 [Verbose] > │ let v13 : UH1 = v1 v12 │
00:00:38 #4963 [Verbose] > │ let v14 : float = v0 / 6.0 │
00:00:38 #4964 [Verbose] > │ let v15 : UH1 = UH1_1 │
00:00:38 #4965 [Verbose] > │ let v16 : UH1 = method17(v15, v3, v7) │
00:00:38 #4966 [Verbose] > │ let v17 : UH1 = UH1_1 │
00:00:38 #4967 [Verbose] > │ let v18 : UH1 = method17(v17, v16, v7) │
00:00:38 #4968 [Verbose] > │ let v19 : UH1 = UH1_1 │
00:00:38 #4969 [Verbose] > │ let v20 : UH1 = method17(v19, v18, v10) │
00:00:38 #4970 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:38 #4971 [Verbose] > │ let v22 : UH1 = method17(v21, v20, v10) │
00:00:38 #4972 [Verbose] > │ let v23 : UH1 = UH1_1 │
00:00:38 #4973 [Verbose] > │ let v24 : UH1 = method17(v23, v22, v13) │
00:00:38 #4974 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:38 #4975 [Verbose] > │ let v26 : UH0 = method1(v14, v25, v24, v2) │
00:00:38 #4976 [Verbose] > │ v26 │
00:00:38 #4977 [Verbose] > │ and closure7 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:38 #4978 [Verbose] > │ closure8(v0, v1) │
00:00:38 #4979 [Verbose] > │ and closure6 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:38 #4980 [Verbose] > │ closure7(v0) │
00:00:38 #4981 [Verbose] > │ and method19 (v0 : UH4, v1 : UH5) : UH5 = │
00:00:38 #4982 [Verbose] > │ match v0 with │
00:00:38 #4983 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4984 [Verbose] > │ let v4 : UH5 = method19(v3, v1) │
00:00:38 #4985 [Verbose] > │ let v18 : US0 = │
00:00:38 #4986 [Verbose] > │ match v2 with │
00:00:38 #4987 [Verbose] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
00:00:38 #4988 [Verbose] > │ *) │
00:00:38 #4989 [Verbose] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
00:00:38 #4990 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4991 [Verbose] > │ US0_0 │
00:00:38 #4992 [Verbose] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
00:00:38 #4993 [Verbose] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
00:00:38 #4994 [Verbose] > │ match v18 with │
00:00:38 #4995 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4996 [Verbose] > │ failwith<struct (float * float * float * float * float * │
00:00:38 #4997 [Verbose] > │ float * float * float * float)> "Option does not have a value." │
00:00:38 #4998 [Verbose] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
00:00:38 #4999 [Verbose] > │ *) │
00:00:38 #5000 [Verbose] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
00:00:38 #5001 [Verbose] > │ let v55 : UH6 = UH6_1 │
00:00:38 #5002 [Verbose] > │ let v56 : UH6 = method13(v2, v55) │
00:00:38 #5003 [Verbose] > │ let v57 : float = 0.0 │
00:00:38 #5004 [Verbose] > │ let v58 : float = method14(v56, v57) │
00:00:38 #5005 [Verbose] > │ UH5_0(v51, v58, v4) │
00:00:38 #5006 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #5007 [Verbose] > │ v1 │
00:00:38 #5008 [Verbose] > │ and method21 (v0 : UH6, v1 : int32) : int32 = │
00:00:38 #5009 [Verbose] > │ match v0 with │
00:00:38 #5010 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #5011 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:38 #5012 [Verbose] > │ method21(v3, v4) │
00:00:38 #5013 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #5014 [Verbose] > │ v1 │
00:00:38 #5015 [Verbose] > │ and method22 (v0 : (float []), v1 : UH6, v2 : int32) : int32 = │
00:00:38 #5016 [Verbose] > │ match v1 with │
00:00:38 #5017 [Verbose] > │ | UH6_0(v3, v4) -> (* Cons *) │
00:00:38 #5018 [Verbose] > │ v0.[int v2] <- v3 │
00:00:38 #5019 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:38 #5020 [Verbose] > │ method22(v0, v4, v5) │
00:00:38 #5021 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #5022 [Verbose] > │ v2 │
00:00:38 #5023 [Verbose] > │ and method20 (v0 : UH6) : (float []) = │
00:00:38 #5024 [Verbose] > │ let v1 : int32 = 0 │
00:00:38 #5025 [Verbose] > │ let v2 : int32 = method21(v0, v1) │
00:00:38 #5026 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:38 #5027 [Verbose] > │ let v4 : int32 = 0 │
00:00:38 #5028 [Verbose] > │ let v5 : int32 = method22(v3, v0, v4) │
00:00:38 #5029 [Verbose] > │ v3 │
00:00:38 #5030 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:38 #5031 [Verbose] > │ []) * (float [])) [])) = │
00:00:38 #5032 [Verbose] > │ let v0 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure0() │
00:00:38 #5033 [Verbose] > │ let v1 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v0 0.03 │
00:00:38 #5034 [Verbose] > │ let v2 : (UH0 -> UH1) = closure3() │
00:00:38 #5035 [Verbose] > │ let v3 : (UH0 -> UH0) = v1 v2 │
00:00:38 #5036 [Verbose] > │ let v4 : UH4 = UH4_1 │
00:00:38 #5037 [Verbose] > │ let v5 : int32 = 0 │
00:00:38 #5038 [Verbose] > │ let v6 : UH4 = method9(v3, v4, v5) │
00:00:38 #5039 [Verbose] > │ let v7 : UH5 = UH5_1 │
00:00:38 #5040 [Verbose] > │ let v8 : UH5 = method12(v6, v7) │
00:00:38 #5041 [Verbose] > │ let v9 : UH6 = UH6_1 │
00:00:38 #5042 [Verbose] > │ let v10 : UH6 = UH6_1 │
00:00:38 #5043 [Verbose] > │ let struct (v11 : UH6, v12 : UH6) = method15(v8, v9, v10) │
00:00:38 #5044 [Verbose] > │ let v13 : UH6 = UH6_1 │
00:00:38 #5045 [Verbose] > │ let v14 : UH6 = method16(v11, v13) │
00:00:38 #5046 [Verbose] > │ let v15 : UH6 = UH6_1 │
00:00:38 #5047 [Verbose] > │ let v16 : UH6 = method16(v12, v15) │
00:00:38 #5048 [Verbose] > │ let v17 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure6() │
00:00:38 #5049 [Verbose] > │ let v18 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v17 0.03 │
00:00:38 #5050 [Verbose] > │ let v19 : (UH0 -> UH0) = v18 v2 │
00:00:38 #5051 [Verbose] > │ let v20 : UH4 = UH4_1 │
00:00:38 #5052 [Verbose] > │ let v21 : int32 = 0 │
00:00:38 #5053 [Verbose] > │ let v22 : UH4 = method9(v19, v20, v21) │
00:00:38 #5054 [Verbose] > │ let v23 : UH5 = UH5_1 │
00:00:38 #5055 [Verbose] > │ let v24 : UH5 = method19(v22, v23) │
00:00:38 #5056 [Verbose] > │ let v25 : UH6 = UH6_1 │
00:00:38 #5057 [Verbose] > │ let v26 : UH6 = UH6_1 │
00:00:38 #5058 [Verbose] > │ let struct (v27 : UH6, v28 : UH6) = method15(v24, v25, v26) │
00:00:38 #5059 [Verbose] > │ let v29 : UH6 = UH6_1 │
00:00:38 #5060 [Verbose] > │ let v30 : UH6 = method16(v27, v29) │
00:00:38 #5061 [Verbose] > │ let v31 : UH6 = UH6_1 │
00:00:38 #5062 [Verbose] > │ let v32 : UH6 = method16(v28, v31) │
00:00:38 #5063 [Verbose] > │ let v33 : (float []) = method20(v14) │
00:00:38 #5064 [Verbose] > │ let v34 : (float []) = method20(v16) │
00:00:38 #5065 [Verbose] > │ let v35 : (float []) = method20(v30) │
00:00:38 #5066 [Verbose] > │ let v36 : (float []) = method20(v32) │
00:00:38 #5067 [Verbose] > │ let v37 : string = "euler-cromer" │
00:00:38 #5068 [Verbose] > │ let v38 : string = "runge-kutta 4" │
00:00:38 #5069 [Verbose] > │ let v39 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:38 #5070 [Verbose] > │ (v37, v33, v34); struct (v38, v35, v36)|] │
00:00:38 #5071 [Verbose] > │ let v40 : string = "system kinetic energy versus time" │
00:00:38 #5072 [Verbose] > │ let v41 : string = "time (s)" │
00:00:38 #5073 [Verbose] > │ let v42 : string = "system kinetic energy (j)" │
00:00:38 #5074 [Verbose] > │ struct (v40, v41, v42, v39) │
00:00:38 #5075 [Verbose] > │ method0() │
00:00:38 #5076 [Verbose] > │ │
00:00:38 #5077 [Verbose] > │ │
00:00:38 #5078 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #5079 [Verbose] >
00:00:38 #5080 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:38 #5081 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:38 #5082 [Verbose] > │ ### wave 1 │
00:00:38 #5083 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #5084 [Verbose] >
00:00:38 #5085 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:38 #5086 [Verbose] > // // test
00:00:38 #5087 [Verbose] >
00:00:38 #5088 [Verbose] > inl linear_spring k re (particle_state st1) (particle_state st2) =
00:00:38 #5089 [Verbose] > inl r1 = st1.pos_vec
00:00:38 #5090 [Verbose] > inl r2 = st2.pos_vec
00:00:38 #5091 [Verbose] > inl r21 = r2 ^-^ r1
00:00:38 #5092 [Verbose] > inl r21mag = magnitude r21
00:00:38 #5093 [Verbose] > -k * (r21mag - re) *^ r21 ^/ r21mag
00:00:38 #5094 [Verbose] >
00:00:38 #5095 [Verbose] > inl fixed_linear_spring k re r1 =
00:00:38 #5096 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5097 [Verbose] > linear_spring k re (particle_state { default_particle_state' with pos_vec =
00:00:38 #5098 [Verbose] > r1 })
00:00:38 #5099 [Verbose] >
00:00:38 #5100 [Verbose] > inl forces_string () =
00:00:38 #5101 [Verbose] > [[
00:00:38 #5102 [Verbose] > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))
00:00:38 #5103 [Verbose] > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
00:00:38 #5104 [Verbose] > ]] /@ (
00:00:38 #5105 [Verbose] > listm'.init_series 0 59 1
00:00:38 #5106 [Verbose] > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
00:00:38 #5107 [Verbose] > )
00:00:38 #5108 [Verbose] >
00:00:38 #5109 [Verbose] > inl string_update dt =
00:00:38 #5110 [Verbose] > update_mps (runge_kutta_4 dt) (forces_string ())
00:00:38 #5111 [Verbose] >
00:00:38 #5112 [Verbose] > inl string_initial_overtone n =
00:00:38 #5113 [Verbose] > inl ball_mass = 0.0008293 * 0.65 / 64
00:00:38 #5114 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5115 [Verbose] > listm'.init_series 0.01 0.64 0.01
00:00:38 #5116 [Verbose] > |> listm.map (fun x =>
00:00:38 #5117 [Verbose] > inl y = 0.005 * sin (conv n * pi * x / 0.65)
00:00:38 #5118 [Verbose] > particle_state {
00:00:38 #5119 [Verbose] > default_particle_state' with
00:00:38 #5120 [Verbose] > mass = ball_mass
00:00:38 #5121 [Verbose] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:00:38 #5122 [Verbose] > velocity = zero_vec ()
00:00:38 #5123 [Verbose] > }
00:00:38 #5124 [Verbose] > )
00:00:38 #5125 [Verbose] > |> multi_particle_state
00:00:38 #5126 [Verbose] >
00:00:38 #5127 [Verbose] > inl string_initial_pluck () =
00:00:38 #5128 [Verbose] > inl ball_mass = 0.0008293 * 0.65 / 64
00:00:38 #5129 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5130 [Verbose] > listm'.init_series 0.01 0.64 0.01
00:00:38 #5131 [Verbose] > |> listm.map (fun x =>
00:00:38 #5132 [Verbose] > inl y =
00:00:38 #5133 [Verbose] > inl n = if x <= 0.51 then 0 else 0.65
00:00:38 #5134 [Verbose] > 0.005 / (0.51 - n) * (x - n)
00:00:38 #5135 [Verbose] > particle_state {
00:00:38 #5136 [Verbose] > default_particle_state' with
00:00:38 #5137 [Verbose] > mass = ball_mass
00:00:38 #5138 [Verbose] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:00:38 #5139 [Verbose] > velocity = zero_vec ()
00:00:38 #5140 [Verbose] > }
00:00:38 #5141 [Verbose] > )
00:00:38 #5142 [Verbose] > |> multi_particle_state
00:00:38 #5143 [Verbose] >
00:00:38 #5144 [Verbose] > let main () =
00:00:38 #5145 [Verbose] > inl ~frames = listm'.init_series 0 9 1f64
00:00:38 #5146 [Verbose] > inl initial_state = string_initial_overtone 3i32
00:00:38 #5147 [Verbose] > inl frames =
00:00:38 #5148 [Verbose] > frames
00:00:38 #5149 [Verbose] > |> listm.map (fun n =>
00:00:38 #5150 [Verbose] > inl (multi_particle_state sts) =
00:00:38 #5151 [Verbose] > seq.iterate' (string_update 0.000025) initial_state |> fun f =>
00:00:38 #5152 [Verbose] > f 0f64
00:00:38 #5153 [Verbose] > inl rs =
00:00:38 #5154 [Verbose] > [[ zero_vec () ]]
00:00:38 #5155 [Verbose] > /@ (sts |> listm.map (fun (particle_state st) => st.pos_vec))
00:00:38 #5156 [Verbose] > /@ [[ 0.65 *^ i_hat () ]]
00:00:38 #5157 [Verbose] > inl x, y =
00:00:38 #5158 [Verbose] > rs
00:00:38 #5159 [Verbose] > |> listm.map (fun r => r.x, r.y)
00:00:38 #5160 [Verbose] > |> listm'.unzip
00:00:38 #5161 [Verbose] > inl x : a i32 _ = x |> listm.toArray
00:00:38 #5162 [Verbose] > inl y : a i32 _ = y |> listm.toArray
00:00:38 #5163 [Verbose] > x, y
00:00:38 #5164 [Verbose] > )
00:00:38 #5165 [Verbose] > |> listm.toArray : a i32 _
00:00:38 #5166 [Verbose] >
00:00:38 #5167 [Verbose] > inl n = 0i32
00:00:38 #5168 [Verbose] >
00:00:38 #5169 [Verbose] > inl x, y = index frames n
00:00:38 #5170 [Verbose] >
00:00:38 #5171 [Verbose] > "wave",
00:00:38 #5172 [Verbose] > "position (m)",
00:00:38 #5173 [Verbose] > "displacement (m)",
00:00:38 #5174 [Verbose] > ;[[
00:00:38 #5175 [Verbose] > ($"$\"{!n}\"" : string), x, y
00:00:38 #5176 [Verbose] > ]]
00:00:39 #5177 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-1160-6093-6606204e67bd\main.spi
00:00:39 #5178 [Verbose] > Stack overflow.
00:00:39 #5179 [Verbose] > Repeat 4 times:
00:00:39 #5180 [Verbose] > --------------------------------
00:00:39 #5181 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5182 [Verbose] > --------------------------------
00:00:39 #5183 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5184 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5185 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5186 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5187 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5188 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5189 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5190 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5191 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5192 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5193 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5194 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5195 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5196 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5197 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5198 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5199 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5200 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5201 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5202 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5203 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5204 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5205 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5206 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5207 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5208 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5209 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5210 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5211 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5212 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5213 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5214 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5215 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5216 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5217 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5218 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5219 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5220 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5221 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5222 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5223 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5224 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5225 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5226 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5227 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5228 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5229 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5230 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5231 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5232 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5233 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5234 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5235 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5236 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5237 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5238 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5239 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5240 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5241 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5242 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5243 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5244 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5245 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5246 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5247 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5248 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5249 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5250 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5251 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5252 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5253 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5254 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5255 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5256 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5257 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5258 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5259 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5260 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5261 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5262 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5263 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5264 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5265 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5266 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5267 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5268 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5269 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5270 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5271 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5272 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5273 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5274 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5275 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5276 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5277 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5278 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5279 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5280 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5281 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5282 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5283 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5284 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5285 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5286 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5287 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5288 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5289 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5290 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5291 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5292 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5293 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5294 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5295 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5296 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5297 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5298 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5299 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5300 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5301 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5302 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5303 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5304 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5305 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5306 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5307 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5308 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5309 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5310 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5311 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5312 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5313 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5314 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5315 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5316 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5317 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5318 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5319 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5320 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5321 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5322 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5323 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5324 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5325 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5326 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5327 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5328 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5329 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5330 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5331 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5332 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5333 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5334 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5335 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5336 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5337 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5338 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5339 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5340 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5341 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5342 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5343 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5344 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5345 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5346 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5347 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5348 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5349 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5350 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5351 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5352 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5353 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5354 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5355 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5356 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5357 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5358 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5359 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5360 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5361 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5362 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5363 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5364 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5365 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5366 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5367 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5368 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5369 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5370 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5371 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5372 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5373 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5374 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5375 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5376 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5377 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5378 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5379 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5380 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5381 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5382 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5383 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5384 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5385 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5386 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5387 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5388 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5389 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5390 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5391 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5392 [Verbose] > at Spiral.PartEval.Main.body@1060-29(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, Microsoft.FSharp.Core.FSharpFunc`2<Boolean,Microsoft.FSharp.Core.FSharpFunc`2<LangEnv,Microsoft.FSharp.Core.FSharpFunc`2<Data,Data>>>, E, E, System.String, Int32, LangEnv, L`2<Int32,Ty>, H`1<<>f__AnonymousType3599534058`5<Microsoft.FSharp.Collections.FSharpMap`2<System.String,Ty>,Boolean,UnionLayout,System.Tuple`2<System.String,Ty>[],System.Collections.Generic.Dictionary`2<System.String,Int32>>>, Microsoft.FSharp.Collections.FSharpSet`1<System.String>)
00:00:39 #5393 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5394 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5395 [Verbose] > at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5396 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5397 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5398 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5399 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5400 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5401 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5402 [Verbose] > at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5403 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5404 [Verbose] > at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)
00:00:39 #5405 [Verbose] > at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5406 [Verbose] > at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5407 [Verbose] > at Spiral.PartEval.Main.term_scope@579(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)
00:00:39 #5408 [Verbose] > at Spiral.PartEval.Main.peval(TopEnv, E)
00:00:39 #5409 [Verbose] > at Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, Microsoft.FSharp.Core.Unit)
00:00:39 #5410 [Verbose] > at Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, System.String, SupervisorState, PrepassTopEnv)
00:00:39 #5411 [Verbose] > at Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)
00:00:39 #5412 [Verbose] > at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5413 [Verbose] > at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5414 [Verbose] > at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5415 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5416 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5417 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5418 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5419 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5420 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5421 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5422 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5423 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5424 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5425 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5426 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5427 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5428 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5429 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5430 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5431 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5432 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5433 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5434 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5435 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5436 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5437 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5438 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5439 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5440 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5441 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5442 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5443 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5444 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5445 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5446 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5447 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5448 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5449 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5450 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5451 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5452 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5453 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5454 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5455 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5456 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5457 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5458 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5459 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5460 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5461 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5462 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5463 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5464 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5465 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5466 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5467 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5468 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5469 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5470 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5471 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5472 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5473 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5474 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5475 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5476 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5477 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5478 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5479 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5480 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5481 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5482 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5483 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5484 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5485 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5486 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5487 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5488 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5489 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5490 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5491 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5492 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5493 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5494 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5495 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5496 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5497 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5498 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5499 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5500 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5501 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5502 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5503 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5504 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5505 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5506 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5507 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5508 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5509 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5510 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5511 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5512 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5513 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5514 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5515 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5516 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5517 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5518 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5519 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5520 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5521 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5522 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5523 [Verbose] > at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)
00:00:39 #5524 [Verbose] > at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5525 [Verbose] > at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5526 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5527 [Verbose] > at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)
00:00:39 #5528 [Verbose] > at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)
00:00:39 #5529 [Verbose] > at Hopac.Platform.Scheduler+thread@30.Invoke()
00:00:39 #5530 [Verbose] > at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
00:00:46 #5531 [Debug] executeAsync / exitCode: -1073741571 / output.Length: 187938
00:00:46 #5532 [Debug] awaitCompiler / exitCode: -1073741571 / result: pwd: C:\home\git\polyglot\lib\spiral
dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
Server bound to: http://localhost:13805
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-4897-9747-947507a81c2d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5112-1231-1e29cccc2b9a\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5134-3417-3f2def07f583\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5184-8451-8904624346da\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5211-1188-149d5a840127\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5237-3754-30891daa1666\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5255-5558-592825f59881\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5276-7624-74f71515dac5\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5301-0109-0773713c27c0\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5318-1880-13665c6da3e2\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5338-3874-31d55991a209\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5359-5910-5ba0bc6ad4dc\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5376-7693-795c533243ab\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5398-9836-9c0c70800b9b\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5417-1782-174e97496f70\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5438-3844-348bfe613ccc\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5480-8009-80b2480cc2cd\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5506-0672-01f40cc1f85e\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5527-2701-2719c4d2bdbf\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5545-4535-4d5eddfeec18\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5574-7401-7905f137ce5d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5634-3459-321bc8e60749\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5655-5504-59fbd18e1099\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5672-7271-796312b8611d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5762-6245-6d9dec57b726\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5781-8178-87f61f75d3d3\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5833-3393-30dee93264cd\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5855-5591-5a7270a5a08a\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5890-9072-962db5e5b585\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5925-2545-2c79941957e9\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5946-4695-463aa0ba1fcc\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0121-5985-8531-81e0f44e5892\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0027-2732-2ad05b4b84bd\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0045-4549-4eb6bb07a8b7\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0066-6627-608c12436142\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0084-8426-8f6fd46f02df\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0102-0224-0f108f9f474b\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0123-2341-2d671f15c581\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0141-4152-47fbb4358ce4\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0161-6152-6b0552645a2d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0179-7922-7d937645448a\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0202-0241-0cb0d1470856\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0219-1988-1d5d37fdbe22\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0238-3858-348e4ed152df\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0261-6131-633bc2b1a22d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0284-8420-848113506e27\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0302-0212-0253a3e62119\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0330-3052-35af29db7caa\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0351-5103-5d428cf7d22a\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0370-7058-776c48de3e52\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0411-1124-1d63a7739f9f\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0431-3146-371425e2c875\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0448-4894-433c50c59e86\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0468-6823-671dfc6e0a4f\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0489-8969-875e62590a7d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0514-1449-13cf97b07d18\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0529-2988-2437ca91c340\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0550-5062-59418fc4724e\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0566-6625-684939070040\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0582-8237-8ae531c6e1b1\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0603-0387-00a0729da25d\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0620-2065-26440f77b90c\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0725-2556-2c0d8d1619a9\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0793-9317-94892aa0e820\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0812-1248-12c453639cab\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0887-8718-85c1ebcb4362\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0913-1357-11c1199e5beb\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-0984-8406-8e80126a3b7a\main.spi
Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-1160-6093-6606204e67bd\main.spi
[Stack overflow.]
[Repeat 4 times:]
[--------------------------------]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[--------------------------------]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.body@1060-29(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, Microsoft.FSharp.Core.FSharpFunc`2<Boolean,Microsoft.FSharp.Core.FSharpFunc`2<LangEnv,Microsoft.FSharp.Core.FSharpFunc`2<Data,Data>>>, E, E, System.String, Int32, LangEnv, L`2<Int32,Ty>, H`1<<>f__AnonymousType3599534058`5<Microsoft.FSharp.Collections.FSharpMap`2<System.String,Ty>,Boolean,UnionLayout,System.Tuple`2<System.String,Ty>[],System.Collections.Generic.Dictionary`2<System.String,Int32>>>, Microsoft.FSharp.Collections.FSharpSet`1<System.String>)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, Void (IntPtr, Byte ByRef, System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]
[ at Spiral.PartEval.Main.term@684-65(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term_scope''@574(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.term_scope@579(TopEnv, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOption`1<System.String>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind[]>>>,HashConsTable>>, System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections.Generic.Dictionary`2<ConsedNode`1<Ty[]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]
[ at Spiral.PartEval.Main.peval(TopEnv, E)]
[ at Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, Microsoft.FSharp.Core.Unit)]
[ at Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, System.String, SupervisorState, PrepassTopEnv)]
[ at Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)]
[ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, System.__Canon)]
[ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]
[ at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)]
[ at Hopac.Platform.Scheduler+thread@30.Invoke()]
[ at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)]
00:00:46 #5533 [Warning] executeAsync / WaitForExitAsync / ex: System.Threading.Tasks.TaskCanceledException: A task was canceled.
00:00:46 #5534 [Debug] executeAsync / exitCode: -2147483648 / output.Length: 329047
00:00:46 #5535 [Debug] main / executeCommand / exitCode: -2147483648
# Invoke-Block / $Retries: 5 / $OnError: Stop / $exitcode: -2147483648 / $EnvVars: null / $Error: '' / $ScriptBlock:
'. ../../apps/spiral/dist/Supervisor$(GetExecutableSuffix) --execute-command "pwsh -c `"../../scripts/invoke-dib.ps1 physics.dib`""'
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\lib\spiral
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 physics.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # physics │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > #!import ../../lib/fsharp/Plotting.dib
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 #21 [Verbose] > #r
00:00:04 #22 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
00:00:04 #23 [Verbose] > spNetCore.Html.Abstractions.dll"
00:00:04 #24 [Verbose] > #r
00:00:04 #25 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #26 [Verbose] > otNet.Interactive.dll"
00:00:04 #27 [Verbose] > #r
00:00:04 #28 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #29 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:04 #30 [Verbose] > #r
00:00:04 #31 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #32 [Verbose] > otNet.Interactive.Formatting.dll"
00:00:04 #33 [Verbose] > open System
00:00:04 #34 [Verbose] > open System.IO
00:00:04 #35 [Verbose] > open System.Text
00:00:04 #36 [Verbose] > open Microsoft.DotNet.Interactive.Formatting
00:00:07 #37 [Verbose] >
00:00:07 #38 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 #39 [Verbose] > #r
00:00:07 #40 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:07 #41 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:07 #42 [Verbose] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:07 #43 [Verbose] > #r
00:00:07 #44 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:07 #45 [Verbose] > otNet.Interactive.dll"
00:00:07 #46 [Verbose] > open type Microsoft.DotNet.Interactive.Kernel
00:00:07 #47 [Verbose] >
00:00:07 #48 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 #49 [Verbose] > //// test
00:00:07 #50 [Verbose] >
00:00:07 #51 [Verbose] > Formatter.ListExpansionLimit <- 100
00:00:08 #52 [Verbose] >
00:00:08 #53 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #54 [Verbose] > #r
00:00:08 #55 [Verbose] > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:00:08 #56 [Verbose] > dard2.1/FSharp.Control.AsyncSeq.dll"
00:00:08 #57 [Verbose] > #r
00:00:08 #58 [Verbose] > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:00:08 #59 [Verbose] > 0/System.Reactive.dll"
00:00:08 #60 [Verbose] > #r
00:00:08 #61 [Verbose] > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:00:08 #62 [Verbose] > netstandard2.0/System.Reactive.Linq.dll"
00:00:08 #63 [Verbose] > #r
00:00:08 #64 [Verbose] > @"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
00:00:08 #65 [Verbose] > #r
00:00:08 #66 [Verbose] > @"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
00:00:08 #67 [Verbose] > b/net6.0/System.CommandLine.dll"
00:00:08 #68 [Verbose] > #r
00:00:08 #69 [Verbose] > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
00:00:08 #70 [Verbose] > rp.Json.dll"
00:00:08 #71 [Verbose] >
00:00:08 #72 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #73 [Verbose] > #if !INTERACTIVE
00:00:08 #74 [Verbose] > namespace Polyglot
00:00:08 #75 [Verbose] > #endif
00:00:08 #76 [Verbose] >
00:00:08 #77 [Verbose] > module Common =
00:00:08 #78 [Verbose] >
00:00:08 #79 [Verbose] > let nl = System.Environment.NewLine
00:00:08 #80 [Verbose] > let q = @""""
00:00:08 #81 [Verbose] >
00:00:08 #82 [Verbose] > let inline cons head tail = head :: tail
00:00:08 #83 [Verbose] >
00:00:08 #84 [Verbose] > module String =
00:00:08 #85 [Verbose] > let inline contains (value : string) (input : string) =
00:00:08 #86 [Verbose] > input.Contains value
00:00:08 #87 [Verbose] >
00:00:08 #88 [Verbose] > let inline endsWith (value : string) (input : string) =
00:00:08 #89 [Verbose] > input.EndsWith value
00:00:08 #90 [Verbose] >
00:00:08 #91 [Verbose] > let inline padLeft totalWidth paddingChar (input : string) =
00:00:08 #92 [Verbose] > input.PadLeft (totalWidth, paddingChar)
00:00:08 #93 [Verbose] >
00:00:08 #94 [Verbose] > let inline replace (oldValue : string) (newValue : string) (input :
00:00:08 #95 [Verbose] > string) =
00:00:08 #96 [Verbose] > input.Replace (oldValue, newValue)
00:00:08 #97 [Verbose] >
00:00:08 #98 [Verbose] > let inline split separator (input : string) =
00:00:08 #99 [Verbose] > input.Split separator
00:00:08 #100 [Verbose] >
00:00:08 #101 [Verbose] > let inline spli...
00:00:10 #102 [Verbose] >
00:00:10 #103 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #104 [Verbose] > #if !INTERACTIVE
00:00:10 #105 [Verbose] > namespace Polyglot
00:00:10 #106 [Verbose] > #endif
00:00:10 #107 [Verbose] >
00:00:10 #108 [Verbose] > module CommonFSharp =
00:00:10 #109 [Verbose] >
00:00:10 #110 [Verbose] > open Common
00:00:10 #111 [Verbose] >
00:00:10 #112 [Verbose] > /// ## getUnionCaseName
00:00:10 #113 [Verbose] >
00:00:10 #114 [Verbose] > let inline getUnionCaseName<'T> (x: 'T) =
00:00:10 #115 [Verbose] > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:00:10 #116 [Verbose] > | case, _ -> case.Name
00:00:10 #117 [Verbose] >
00:00:10 #118 [Verbose] >
00:00:10 #119 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #120 [Verbose] > #if !INTERACTIVE
00:00:10 #121 [Verbose] > namespace Polyglot
00:00:10 #122 [Verbose] > #endif
00:00:10 #123 [Verbose] >
00:00:10 #124 [Verbose] > module Crypto =
00:00:10 #125 [Verbose] >
00:00:10 #126 [Verbose] > open Common
00:00:10 #127 [Verbose] >
00:00:10 #128 [Verbose] > /// ## hashText
00:00:10 #129 [Verbose] >
00:00:10 #130 [Verbose] > let hashText (input : string) =
00:00:10 #131 [Verbose] > use sha256 = System.Security.Cryptography.SHA256.Create ()
00:00:10 #132 [Verbose] > input
00:00:10 #133 [Verbose] > |> System.Text.Encoding.UTF8.GetBytes
00:00:10 #134 [Verbose] > |> sha256.ComputeHash
00:00:10 #135 [Verbose] > |> Array.map (fun b -> b.ToString "x2")
00:00:10 #136 [Verbose] > |> String.concat ""
00:00:10 #137 [Verbose] >
00:00:10 #138 [Verbose] >
00:00:10 #139 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #140 [Verbose] > #if !INTERACTIVE
00:00:10 #141 [Verbose] > namespace Polyglot
00:00:10 #142 [Verbose] > #endif
00:00:10 #143 [Verbose] >
00:00:10 #144 [Verbose] > module Async =
00:00:10 #145 [Verbose] >
00:00:10 #146 [Verbose] > open Common
00:00:10 #147 [Verbose] >
00:00:10 #148 [Verbose] > /// ## choice
00:00:10 #149 [Verbose] >
00:00:10 #150 [Verbose] > let inline choice asyncs = async {
00:00:10 #151 [Verbose] > let e = Event<_> ()
00:00:10 #152 [Verbose] > use cts = new System.Threading.CancellationTokenSource ()
00:00:10 #153 [Verbose] > let fn =
00:00:10 #154 [Verbose] > asyncs
00:00:10 #155 [Verbose] > |> Seq.map (fun a -> async {
00:00:10 #156 [Verbose] > let! x = a
00:00:10 #157 [Verbose] > e.Trigger x
00:00:10 #158 [Verbose] > })
00:00:10 #159 [Verbose] > |> Async.Parallel
00:00:10 #160 [Verbose] > |> Async.Ignore
00:00:10 #161 [Verbose] > Async.Start (fn, cts.Token)
00:00:10 #162 [Verbose] > let! result = Async.AwaitEvent e.Publish
00:00:10 #163 [Verbose] > cts.Cancel ()
00:00:10 #164 [Verbose] > return result
00:00:10 #165 [Verbose] > }
00:00:10 #166 [Verbose] >
00:00:10 #167 [Verbose] > /// ## map
00:00:10 #168 [Verbose] >
00:00:10 #169 [Verbose] > let inline map fn a = async {
00:00:10 #170 [Verbose] > let! x = a
00:00:10 #171 [Verbose] > return fn x
00:00:10 #172 [Verbose] > }
00:00:10 #173 [Verbose] >
00:00:10 #174 [Verbose] > /// ## catch
00:00:10 #175 [Verbose] >
00:00:10 #176 [Verbose] > let inline catch a =
00:00:10 #177 [Verbose] > a
00:00:10 #178 [Verbose] > |> Async.Catch
00:00:10 #179 [Verbose] > ...
00:00:10 #180 [Verbose] >
00:00:10 #181 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #182 [Verbose] > #if !INTERACTIVE
00:00:10 #183 [Verbose] > namespace Polyglot
00:00:10 #184 [Verbose] > #endif
00:00:10 #185 [Verbose] >
00:00:10 #186 [Verbose] > module AsyncSeq =
00:00:10 #187 [Verbose] >
00:00:10 #188 [Verbose] > open Common
00:00:10 #189 [Verbose] >
00:00:10 #190 [Verbose] > /// ## subscribeEvent
00:00:10 #191 [Verbose] >
00:00:10 #192 [Verbose] > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:00:10 #193 [Verbose] > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:00:10 #194 [Verbose] > 'A>(event.AddHandler, event.RemoveHandler)
00:00:10 #195 [Verbose] > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:00:10 #196 [Verbose] > event.EventArgs)
00:00:10 #197 [Verbose] > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:00:10 #198 [Verbose] >
00:00:10 #199 [Verbose] > let subscribeToken (token : System.Threading.CancellationToken) =
00:00:10 #200 [Verbose] > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:00:10 #201 [Verbose] > System.Action tcs.SetResult |> token.Register |> ignore
00:00:10 #202 [Verbose] > let start = System.DateTime.Now.Ticks
00:00:10 #203 [Verbose] > FSharp.Control.AsyncSeq.unfoldAsync
00:00:10 #204 [Verbose] > (fun (...
00:00:11 #205 [Verbose] >
00:00:11 #206 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #207 [Verbose] > #if !INTERACTIVE
00:00:11 #208 [Verbose] > namespace Polyglot
00:00:11 #209 [Verbose] > #endif
00:00:11 #210 [Verbose] >
00:00:11 #211 [Verbose] > module Networking =
00:00:11 #212 [Verbose] >
00:00:11 #213 [Verbose] > open Common
00:00:11 #214 [Verbose] >
00:00:11 #215 [Verbose] > /// ## testPortOpen
00:00:11 #216 [Verbose] >
00:00:11 #217 [Verbose] > let inline testPortOpen port = async {
00:00:11 #218 [Verbose] > let! ct = Async.CancellationToken
00:00:11 #219 [Verbose] > use client = new System.Net.Sockets.TcpClient ()
00:00:11 #220 [Verbose] > try
00:00:11 #221 [Verbose] > do! client.ConnectAsync ("127.0.0.1", port, ct) |>
00:00:11 #222 [Verbose] > Async.awaitValueTaskUnit
00:00:11 #223 [Verbose] > return true
00:00:11 #224 [Verbose] > with ex ->
00:00:11 #225 [Verbose] > trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
00:00:11 #226 [Verbose] > printException}") getLocals
00:00:11 #227 [Verbose] > return false
00:00:11 #228 [Verbose] > }
00:00:11 #229 [Verbose] >
00:00:11 #230 [Verbose] > let inline testPortOpenTimeout timeout port = async {
00:00:11 #231 [Verbose] > let! result =
00:00:11 #232 [Verbose] > testPortOpen port
00:00:11 #233 [Verbose] > |> Async.runWithTimeoutAsync timeout
00:00:11 #234 [Verbose] > return
00:00:11 #235 [Verbose] > match result with
00:00:11 #236 [Verbose] > | None -> false
00:00:11 #237 [Verbose] > ...
00:00:11 #238 [Verbose] >
00:00:11 #239 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #240 [Verbose] > #if !INTERACTIVE
00:00:11 #241 [Verbose] > namespace Polyglot
00:00:11 #242 [Verbose] > #endif
00:00:11 #243 [Verbose] >
00:00:11 #244 [Verbose] > module Runtime =
00:00:11 #245 [Verbose] >
00:00:11 #246 [Verbose] > open Common
00:00:11 #247 [Verbose] >
00:00:11 #248 [Verbose] > /// ## isWindows
00:00:11 #249 [Verbose] >
00:00:11 #250 [Verbose] > let isWindows =
00:00:11 #251 [Verbose] > fun () ->
00:00:11 #252 [Verbose] > System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
00:00:11 #253 [Verbose] > System.Runtime.InteropServices.OSPlatform.Windows
00:00:11 #254 [Verbose] > |> memoize
00:00:11 #255 [Verbose] >
00:00:11 #256 [Verbose] > /// ## getExecutableSuffix
00:00:11 #257 [Verbose] >
00:00:11 #258 [Verbose] > let inline getExecutableSuffix () =
00:00:11 #259 [Verbose] > if isWindows ()
00:00:11 #260 [Verbose] > then ".exe"
00:00:11 #261 [Verbose] > else ""
00:00:11 #262 [Verbose] >
00:00:11 #263 [Verbose] > /// ## splitCommand
00:00:11 #264 [Verbose] >
00:00:11 #265 [Verbose] > type private CommandParseStep =
00:00:11 #266 [Verbose] > | Start
00:00:11 #267 [Verbose] > | Path of quoted: bool
00:00:11 #268 [Verbose] > | Arguments
00:00:11 #269 [Verbose] >
00:00:11 #270 [Verbose] > let splitCommand (command: string) =
00:00:11 #271 [Verbose] > let rec loop (path, args) chars step =
00:00:11 #272 [Verbose] > match chars, step with
00:00:11 #273 [Verbose] > | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
00:00:12 #274 [Verbose] >
00:00:12 #275 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 #276 [Verbose] > #if !INTERACTIVE
00:00:12 #277 [Verbose] > namespace Polyglot
00:00:12 #278 [Verbose] > #endif
00:00:12 #279 [Verbose] >
00:00:12 #280 [Verbose] > module FileSystem =
00:00:12 #281 [Verbose] >
00:00:12 #282 [Verbose] > open Common
00:00:12 #283 [Verbose] >
00:00:12 #284 [Verbose] > /// ## Operators
00:00:12 #285 [Verbose] >
00:00:12 #286 [Verbose] > module Operators =
00:00:12 #287 [Verbose] > let inline (</>) a b =
00:00:12 #288 [Verbose] > System.IO.Path.Combine (a, b)
00:00:12 #289 [Verbose] >
00:00:12 #290 [Verbose] > open Operators
00:00:12 #291 [Verbose] >
00:00:12 #292 [Verbose] > /// ## createTempDirectoryName
00:00:12 #293 [Verbose] >
00:00:12 #294 [Verbose] > let inline createTempDirectoryName () =
00:00:12 #295 [Verbose] > let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:00:12 #296 [Verbose] >
00:00:12 #297 [Verbose] > System.IO.Path.GetTempPath ()
00:00:12 #298 [Verbose] > </> $"!{root}"
00:00:12 #299 [Verbose] > </> string (newGuidFromDateTime System.DateTime.Now)
00:00:12 #300 [Verbose] >
00:00:12 #301 [Verbose] > /// ## createTempDirectory
00:00:12 #302 [Verbose] >
00:00:12 #303 [Verbose] > let inline createTempDirectory () =
00:00:12 #304 [Verbose] > let tempFolder = createTempDirectoryName ()
00:00:12 #305 [Verbose] > let result = System.IO.Directory.CreateDirectory tempFolder
00:00:12 #306 [Verbose] >
00:00:12 #307 [Verbose] > if not result.Exists then
00:00:12 #308 [Verbose] > let ge...
00:00:15 #309 [Verbose] >
00:00:15 #310 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:15 #311 [Verbose] > open Common
00:00:15 #312 [Verbose] > open FileSystem.Operators
00:00:15 #313 [Verbose] >
00:00:15 #314 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:15 #315 [Verbose] > let tmpSpiralPath = Path.GetTempPath () </> "!dotnet-interactive-spiral"
00:00:15 #316 [Verbose] > let linePlotsDataPath = tmpSpiralPath </> "line-plots-data"
00:00:15 #317 [Verbose] > let linePlotsSvgPath = tmpSpiralPath </> "line-plots-svg"
00:00:15 #318 [Verbose] >
00:00:15 #319 [Verbose] > [[ tmpSpiralPath; linePlotsDataPath; linePlotsSvgPath ]]
00:00:15 #320 [Verbose] > |> List.iter (fun dir -> if Directory.Exists dir |> not then
00:00:15 #321 [Verbose] > Directory.CreateDirectory dir |> ignore)
00:00:15 #322 [Verbose] >
00:00:15 #323 [Verbose] > Formatter.Register<struct (string * string * string * struct (string * float
00:00:15 #324 [Verbose] > array * float array) array)> (
00:00:15 #325 [Verbose] > (fun struct (caption, x_desc, y_desc, ys) ->
00:00:15 #326 [Verbose] > let json = (caption, x_desc, y_desc, ys) |> FSharp.Json.Json.serialize
00:00:15 #327 [Verbose] > async {
00:00:15 #328 [Verbose] > let hashHex = json |> Crypto.hashText
00:00:15 #329 [Verbose] > let svgPath = linePlotsSvgPath </> $"{hashHex}.svg"
00:00:15 #330 [Verbose] >
00:00:15 #331 [Verbose] > if System.IO.File.Exi...
00:00:15 #332 [Verbose] >
00:00:15 #333 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 #334 [Verbose] > // // test
00:00:15 #335 [Verbose] >
00:00:15 #336 [Verbose] > open testing
00:00:17 #337 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0122-5774-7433-740835690d2c\main.spi
00:00:18 #338 [Verbose] >
00:00:18 #339 [Verbose] > ╭─[ 3.14s - stdout ]───────────────────────────────────────────────────────────╮
00:00:18 #340 [Verbose] > │ () │
00:00:18 #341 [Verbose] > │ │
00:00:18 #342 [Verbose] > │ │
00:00:18 #343 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #344 [Verbose] >
00:00:18 #345 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #346 [Verbose] > inl (/@) x = listm'.(/@) x
00:00:18 #347 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0025-2598-2fb88b85890b\main.spi
00:00:18 #348 [Verbose] >
00:00:18 #349 [Verbose] > ╭─[ 241.82ms - stdout ]────────────────────────────────────────────────────────╮
00:00:18 #350 [Verbose] > │ () │
00:00:18 #351 [Verbose] > │ │
00:00:18 #352 [Verbose] > │ │
00:00:18 #353 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #354 [Verbose] >
00:00:18 #355 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:18 #356 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:18 #357 [Verbose] > │ ## init_series │
00:00:18 #358 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:18 #359 [Verbose] >
00:00:18 #360 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:18 #361 [Verbose] > // // test
00:00:18 #362 [Verbose] >
00:00:18 #363 [Verbose] > inl x : a _ f64 = am'.init_series -3 3 0.01
00:00:18 #364 [Verbose] > inl y = x |> am.map math.square
00:00:18 #365 [Verbose] > "square", "x", "y", ;[[ "square", x, y ]]
00:00:19 #366 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0050-5018-536d831ef5e3\main.spi
00:00:19 #367 [Verbose] >
00:00:19 #368 [Verbose] > ╭─[ 446.47ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #369 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #370 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #371 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #372 [Verbose] > │ stroke="none"/> │
00:00:19 #373 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #374 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #375 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #376 [Verbose] > │ square │
00:00:19 #377 [Verbose] > │ </text> │
00:00:19 #378 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:19 #379 [Verbose] > │ y2="75"/> │
00:00:19 #380 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #381 [Verbose] > │ y2="75"/> │
00:00:19 #382 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:19 #383 [Verbose] > │ y2="75"/> │
00:00:19 #384 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:19 #385 [Verbose] > │ y2="75"/> │
00:00:19 #386 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:19 #387 [Verbose] > │ ... │
00:00:19 #388 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #389 [Verbose] >
00:00:19 #390 [Verbose] > ╭─[ 463.71ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #391 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #392 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #393 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #394 [Verbose] > │ let v2 : bool = v1 < 601 │
00:00:19 #395 [Verbose] > │ v2 │
00:00:19 #396 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #397 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #398 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #399 [Verbose] > │ v3 │
00:00:19 #400 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #401 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #402 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (601) │
00:00:19 #403 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #404 [Verbose] > │ while method1(v1) do │
00:00:19 #405 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #406 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #407 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:19 #408 [Verbose] > │ let v6 : float = -3.0 + v5 │
00:00:19 #409 [Verbose] > │ v0.[int v3] <- v6 │
00:00:19 #410 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:19 #411 [Verbose] > │ v1.l0 <- v7 │
00:00:19 #412 [Verbose] > │ () │
00:00:19 #413 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:19 #414 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #415 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #416 [Verbose] > │ while method2(v8, v10) do │
00:00:19 #417 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:19 #418 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:19 #419 [Verbose] > │ let v14 : float = v13 ** 2.0 │
00:00:19 #420 [Verbose] > │ v9.[int v12] <- v14 │
00:00:19 #421 [Verbose] > │ let v15 : int32 = v12 + 1 │
00:00:19 #422 [Verbose] > │ v10.l0 <- v15 │
00:00:19 #423 [Verbose] > │ () │
00:00:19 #424 [Verbose] > │ let v16 : string = "square" │
00:00:19 #425 [Verbose] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #426 [Verbose] > │ (v16, v0, v9)|] │
00:00:19 #427 [Verbose] > │ let v18 : string = "x" │
00:00:19 #428 [Verbose] > │ let v19 : string = "y" │
00:00:19 #429 [Verbose] > │ struct (v16, v18, v19, v17) │
00:00:19 #430 [Verbose] > │ method0() │
00:00:19 #431 [Verbose] > │ │
00:00:19 #432 [Verbose] > │ │
00:00:19 #433 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #434 [Verbose] >
00:00:19 #435 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #436 [Verbose] > // // test
00:00:19 #437 [Verbose] >
00:00:19 #438 [Verbose] > inl x : a _ f64 = am'.init_series -10 10 0.1
00:00:19 #439 [Verbose] > inl y_sin = x |> am.map sin
00:00:19 #440 [Verbose] > inl y_cos = x |> am.map cos
00:00:19 #441 [Verbose] > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]]
00:00:19 #442 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0098-9852-9203ef9069db\main.spi
00:00:19 #443 [Verbose] >
00:00:19 #444 [Verbose] > ╭─[ 234.97ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #445 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #446 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #447 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #448 [Verbose] > │ stroke="none"/> │
00:00:19 #449 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #450 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #451 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #452 [Verbose] > │ sin cos │
00:00:19 #453 [Verbose] > │ </text> │
00:00:19 #454 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:00:19 #455 [Verbose] > │ y2="75"/> │
00:00:19 #456 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #457 [Verbose] > │ y2="75"/> │
00:00:19 #458 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:00:19 #459 [Verbose] > │ y2="75"/> │
00:00:19 #460 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:19 #461 [Verbose] > │ y2="75"/> │
00:00:19 #462 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
00:00:19 #463 [Verbose] > │ x2="10... │
00:00:19 #464 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #465 [Verbose] >
00:00:19 #466 [Verbose] > ╭─[ 247.27ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #467 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #468 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #469 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #470 [Verbose] > │ let v2 : bool = v1 < 201 │
00:00:19 #471 [Verbose] > │ v2 │
00:00:19 #472 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #473 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #474 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #475 [Verbose] > │ v3 │
00:00:19 #476 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #477 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #478 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (201) │
00:00:19 #479 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #480 [Verbose] > │ while method1(v1) do │
00:00:19 #481 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #482 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #483 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:19 #484 [Verbose] > │ let v6 : float = -10.0 + v5 │
00:00:19 #485 [Verbose] > │ v0.[int v3] <- v6 │
00:00:19 #486 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:19 #487 [Verbose] > │ v1.l0 <- v7 │
00:00:19 #488 [Verbose] > │ () │
00:00:19 #489 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:19 #490 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #491 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #492 [Verbose] > │ while method2(v8, v10) do │
00:00:19 #493 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:19 #494 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:19 #495 [Verbose] > │ let v14 : float = sin v13 │
00:00:19 #496 [Verbose] > │ v9.[int v12] <- v14 │
00:00:19 #497 [Verbose] > │ let v15 : int32 = v12 + 1 │
00:00:19 #498 [Verbose] > │ v10.l0 <- v15 │
00:00:19 #499 [Verbose] > │ () │
00:00:19 #500 [Verbose] > │ let v16 : (float []) = Array.zeroCreate<float> (v8) │
00:00:19 #501 [Verbose] > │ let v17 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #502 [Verbose] > │ while method2(v8, v17) do │
00:00:19 #503 [Verbose] > │ let v19 : int32 = v17.l0 │
00:00:19 #504 [Verbose] > │ let v20 : float = v0.[int v19] │
00:00:19 #505 [Verbose] > │ let v21 : float = cos v20 │
00:00:19 #506 [Verbose] > │ v16.[int v19] <- v21 │
00:00:19 #507 [Verbose] > │ let v22 : int32 = v19 + 1 │
00:00:19 #508 [Verbose] > │ v17.l0 <- v22 │
00:00:19 #509 [Verbose] > │ () │
00:00:19 #510 [Verbose] > │ let v23 : string = "sin" │
00:00:19 #511 [Verbose] > │ let v24 : string = "cos" │
00:00:19 #512 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #513 [Verbose] > │ (v23, v0, v9); struct (v24, v0, v16)|] │
00:00:19 #514 [Verbose] > │ let v26 : string = "sin cos" │
00:00:19 #515 [Verbose] > │ let v27 : string = "x" │
00:00:19 #516 [Verbose] > │ let v28 : string = "y" │
00:00:19 #517 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:19 #518 [Verbose] > │ method0() │
00:00:19 #519 [Verbose] > │ │
00:00:19 #520 [Verbose] > │ │
00:00:19 #521 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #522 [Verbose] >
00:00:19 #523 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #524 [Verbose] > // // test
00:00:19 #525 [Verbose] >
00:00:19 #526 [Verbose] > inl y_pos y0 vy0 ay t =
00:00:19 #527 [Verbose] > y0 + vy0 * t + ay * (t |> math.square) / 2
00:00:19 #528 [Verbose] >
00:00:19 #529 [Verbose] > inl x : a _ f64 = am'.init_series 0 5 0.01
00:00:19 #530 [Verbose] > inl y = x |> am.map (y_pos 0 20 -9.8)
00:00:19 #531 [Verbose] > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]]
00:00:19 #532 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0125-2561-22e309b51247\main.spi
00:00:19 #533 [Verbose] >
00:00:19 #534 [Verbose] > ╭─[ 212.18ms - return value ]──────────────────────────────────────────────────╮
00:00:19 #535 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:19 #536 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:19 #537 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:19 #538 [Verbose] > │ stroke="none"/> │
00:00:19 #539 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:19 #540 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:19 #541 [Verbose] > │ fill="#FFFFFF"> │
00:00:19 #542 [Verbose] > │ projectile motion │
00:00:19 #543 [Verbose] > │ </text> │
00:00:19 #544 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:19 #545 [Verbose] > │ y2="75"/> │
00:00:19 #546 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:19 #547 [Verbose] > │ y2="75"/> │
00:00:19 #548 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:19 #549 [Verbose] > │ y2="75"/> │
00:00:19 #550 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:19 #551 [Verbose] > │ y2="75"/> │
00:00:19 #552 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="42... │
00:00:19 #553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #554 [Verbose] >
00:00:19 #555 [Verbose] > ╭─[ 222.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:19 #556 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:19 #557 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:19 #558 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:19 #559 [Verbose] > │ let v2 : bool = v1 < 501 │
00:00:19 #560 [Verbose] > │ v2 │
00:00:19 #561 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:19 #562 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:19 #563 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:19 #564 [Verbose] > │ v3 │
00:00:19 #565 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:19 #566 [Verbose] > │ []) * (float [])) [])) = │
00:00:19 #567 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
00:00:19 #568 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #569 [Verbose] > │ while method1(v1) do │
00:00:19 #570 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:19 #571 [Verbose] > │ let v4 : float = float v3 │
00:00:19 #572 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:19 #573 [Verbose] > │ v0.[int v3] <- v5 │
00:00:19 #574 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:19 #575 [Verbose] > │ v1.l0 <- v6 │
00:00:19 #576 [Verbose] > │ () │
00:00:19 #577 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:19 #578 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:19 #579 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:19 #580 [Verbose] > │ while method2(v7, v9) do │
00:00:19 #581 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:19 #582 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:19 #583 [Verbose] > │ let v13 : float = 20.0 * v12 │
00:00:19 #584 [Verbose] > │ let v14 : float = v12 ** 2.0 │
00:00:19 #585 [Verbose] > │ let v15 : float = -9.8 * v14 │
00:00:19 #586 [Verbose] > │ let v16 : float = v15 / 2.0 │
00:00:19 #587 [Verbose] > │ let v17 : float = v13 + v16 │
00:00:19 #588 [Verbose] > │ v8.[int v11] <- v17 │
00:00:19 #589 [Verbose] > │ let v18 : int32 = v11 + 1 │
00:00:19 #590 [Verbose] > │ v9.l0 <- v18 │
00:00:19 #591 [Verbose] > │ () │
00:00:19 #592 [Verbose] > │ let v19 : string = "height of projectile (m)" │
00:00:19 #593 [Verbose] > │ let v20 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:19 #594 [Verbose] > │ (v19, v0, v8)|] │
00:00:19 #595 [Verbose] > │ let v21 : string = "projectile motion" │
00:00:19 #596 [Verbose] > │ let v22 : string = "time (s)" │
00:00:19 #597 [Verbose] > │ let v23 : string = "" │
00:00:19 #598 [Verbose] > │ struct (v21, v22, v23, v20) │
00:00:19 #599 [Verbose] > │ method0() │
00:00:19 #600 [Verbose] > │ │
00:00:19 #601 [Verbose] > │ │
00:00:19 #602 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #603 [Verbose] >
00:00:19 #604 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:19 #605 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:19 #606 [Verbose] > │ ## velocity_cf │
00:00:19 #607 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:19 #608 [Verbose] >
00:00:19 #609 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:19 #610 [Verbose] > type mass = f64
00:00:19 #611 [Verbose] > type time = f64
00:00:19 #612 [Verbose] > type position = f64
00:00:19 #613 [Verbose] > type velocity = f64
00:00:19 #614 [Verbose] > type force = f64
00:00:19 #615 [Verbose] >
00:00:19 #616 [Verbose] > type velocity_cf = mass -> velocity -> list force -> (time -> velocity)
00:00:19 #617 [Verbose] >
00:00:19 #618 [Verbose] > inl velocity_cf m v0 fs =
00:00:19 #619 [Verbose] > inl f_net = fs |> listm'.sum
00:00:19 #620 [Verbose] > inl a0 = f_net / m
00:00:19 #621 [Verbose] > inl v t = v0 + a0 * t
00:00:19 #622 [Verbose] > v
00:00:20 #623 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0150-5070-57d397ef56a0\main.spi
00:00:20 #624 [Verbose] >
00:00:20 #625 [Verbose] > ╭─[ 170.27ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #626 [Verbose] > │ () │
00:00:20 #627 [Verbose] > │ │
00:00:20 #628 [Verbose] > │ │
00:00:20 #629 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #630 [Verbose] >
00:00:20 #631 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #632 [Verbose] > // // test
00:00:20 #633 [Verbose] >
00:00:20 #634 [Verbose] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0
00:00:20 #635 [Verbose] > |> _equal 0.6
00:00:20 #636 [Verbose] >
00:00:20 #637 [Verbose] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1
00:00:20 #638 [Verbose] > |> _equal 0.2
00:00:20 #639 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0167-6764-6259e100cab5\main.spi
00:00:20 #640 [Verbose] >
00:00:20 #641 [Verbose] > ╭─[ 185.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #642 [Verbose] > │ let rec method0 () : unit = │
00:00:20 #643 [Verbose] > │ let v0 : string = $"_equal / actual: %A{0.6} / expected: %A{0.6}" │
00:00:20 #644 [Verbose] > │ let v1 : string = $"_equal / actual: %A{0.2} / expected: %A{0.2}" │
00:00:20 #645 [Verbose] > │ () │
00:00:20 #646 [Verbose] > │ method0() │
00:00:20 #647 [Verbose] > │ │
00:00:20 #648 [Verbose] > │ │
00:00:20 #649 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #650 [Verbose] >
00:00:20 #651 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #652 [Verbose] > // // test
00:00:20 #653 [Verbose] >
00:00:20 #654 [Verbose] > inl x = am'.init_series 0 4 0.1
00:00:20 #655 [Verbose] > inl y = x |> am.map (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]])
00:00:20 #656 [Verbose] > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]]
00:00:20 #657 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0186-8665-8b4cd45afd41\main.spi
00:00:20 #658 [Verbose] >
00:00:20 #659 [Verbose] > ╭─[ 228.53ms - return value ]──────────────────────────────────────────────────╮
00:00:20 #660 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:20 #661 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:20 #662 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:20 #663 [Verbose] > │ stroke="none"/> │
00:00:20 #664 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:20 #665 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:20 #666 [Verbose] > │ fill="#FFFFFF"> │
00:00:20 #667 [Verbose] > │ car on an air track │
00:00:20 #668 [Verbose] > │ </text> │
00:00:20 #669 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:00:20 #670 [Verbose] > │ y2="75"/> │
00:00:20 #671 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:20 #672 [Verbose] > │ y2="75"/> │
00:00:20 #673 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:00:20 #674 [Verbose] > │ y2="75"/> │
00:00:20 #675 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:00:20 #676 [Verbose] > │ y2="75"/> │
00:00:20 #677 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1=... │
00:00:20 #678 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #679 [Verbose] >
00:00:20 #680 [Verbose] > ╭─[ 240.34ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #681 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:20 #682 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:20 #683 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:20 #684 [Verbose] > │ let v2 : bool = v1 < 41 │
00:00:20 #685 [Verbose] > │ v2 │
00:00:20 #686 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:20 #687 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:20 #688 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:20 #689 [Verbose] > │ v3 │
00:00:20 #690 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:20 #691 [Verbose] > │ []) * (float [])) [])) = │
00:00:20 #692 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (41) │
00:00:20 #693 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:20 #694 [Verbose] > │ while method1(v1) do │
00:00:20 #695 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:20 #696 [Verbose] > │ let v4 : float = float v3 │
00:00:20 #697 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:20 #698 [Verbose] > │ v0.[int v3] <- v5 │
00:00:20 #699 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:20 #700 [Verbose] > │ v1.l0 <- v6 │
00:00:20 #701 [Verbose] > │ () │
00:00:20 #702 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:20 #703 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:20 #704 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:20 #705 [Verbose] > │ while method2(v7, v9) do │
00:00:20 #706 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:20 #707 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:20 #708 [Verbose] > │ let v13 : float = -0.39999999999999997 * v12 │
00:00:20 #709 [Verbose] > │ let v14 : float = 0.6 + v13 │
00:00:20 #710 [Verbose] > │ v8.[int v11] <- v14 │
00:00:20 #711 [Verbose] > │ let v15 : int32 = v11 + 1 │
00:00:20 #712 [Verbose] > │ v9.l0 <- v15 │
00:00:20 #713 [Verbose] > │ () │
00:00:20 #714 [Verbose] > │ let v16 : string = "velocity of car (m/s)" │
00:00:20 #715 [Verbose] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:20 #716 [Verbose] > │ (v16, v0, v8)|] │
00:00:20 #717 [Verbose] > │ let v18 : string = "car on an air track" │
00:00:20 #718 [Verbose] > │ let v19 : string = "time (s)" │
00:00:20 #719 [Verbose] > │ let v20 : string = "" │
00:00:20 #720 [Verbose] > │ struct (v18, v19, v20, v17) │
00:00:20 #721 [Verbose] > │ method0() │
00:00:20 #722 [Verbose] > │ │
00:00:20 #723 [Verbose] > │ │
00:00:20 #724 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #725 [Verbose] >
00:00:20 #726 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #727 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #728 [Verbose] > │ ## derivative │
00:00:20 #729 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #730 [Verbose] >
00:00:20 #731 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #732 [Verbose] > type derivative = (f64 -> f64) -> f64 -> f64
00:00:20 #733 [Verbose] >
00:00:20 #734 [Verbose] > inl derivative dt : derivative =
00:00:20 #735 [Verbose] > fun x t =>
00:00:20 #736 [Verbose] > (x (t + dt / 2) - x (t - dt / 2)) / dt
00:00:20 #737 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0212-1280-144a449bdfcf\main.spi
00:00:20 #738 [Verbose] >
00:00:20 #739 [Verbose] > ╭─[ 197.47ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #740 [Verbose] > │ () │
00:00:20 #741 [Verbose] > │ │
00:00:20 #742 [Verbose] > │ │
00:00:20 #743 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #744 [Verbose] >
00:00:20 #745 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #746 [Verbose] > // // test
00:00:20 #747 [Verbose] >
00:00:20 #748 [Verbose] > derivative 1 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #749 [Verbose] > |> _almost_equal 0.25
00:00:20 #750 [Verbose] >
00:00:20 #751 [Verbose] > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #752 [Verbose] > |> _almost_equal 0.0000002499998827953931
00:00:20 #753 [Verbose] >
00:00:20 #754 [Verbose] > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #755 [Verbose] > |> _almost_equal 0.000000000001000088900582341
00:00:20 #756 [Verbose] >
00:00:20 #757 [Verbose] > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #758 [Verbose] > |> _almost_equal 0.00000008274037099909037
00:00:20 #759 [Verbose] >
00:00:20 #760 [Verbose] > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #761 [Verbose] > |> _almost_equal 0.00008890058234101161
00:00:20 #762 [Verbose] >
00:00:20 #763 [Verbose] > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #764 [Verbose] > |> _almost_equal -0.0007992778373592246
00:00:20 #765 [Verbose] >
00:00:20 #766 [Verbose] > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:00:20 #767 [Verbose] > |> _almost_equal -1
00:00:20 #768 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0233-3300-36ed4ce64399\main.spi
00:00:20 #769 [Verbose] >
00:00:20 #770 [Verbose] > ╭─[ 212.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:20 #771 [Verbose] > │ let rec method0 () : unit = │
00:00:20 #772 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.25} / expected: │
00:00:20 #773 [Verbose] > │ %A{0.25}" │
00:00:20 #774 [Verbose] > │ let v1 : string = $"_almost_equal / actual: %A{2.499998827953931E-07} / │
00:00:20 #775 [Verbose] > │ expected: %A{2.499998827953931E-07}" │
00:00:20 #776 [Verbose] > │ let v2 : string = $"_almost_equal / actual: %A{1.000088900582341E-12} / │
00:00:20 #777 [Verbose] > │ expected: %A{1.000088900582341E-12}" │
00:00:20 #778 [Verbose] > │ let v3 : string = $"_almost_equal / actual: %A{8.274037099909037E-08} / │
00:00:20 #779 [Verbose] > │ expected: %A{8.274037099909037E-08}" │
00:00:20 #780 [Verbose] > │ let v4 : string = $"_almost_equal / actual: %A{8.890058234101161E-05} / │
00:00:20 #781 [Verbose] > │ expected: %A{8.890058234101161E-05}" │
00:00:20 #782 [Verbose] > │ let v5 : string = $"_almost_equal / actual: %A{-0.0007992778373592246} / │
00:00:20 #783 [Verbose] > │ expected: %A{-0.0007992778373592246}" │
00:00:20 #784 [Verbose] > │ let v6 : string = $"_almost_equal / actual: %A{-1.0} / expected: │
00:00:20 #785 [Verbose] > │ %A{-1.0}" │
00:00:20 #786 [Verbose] > │ () │
00:00:20 #787 [Verbose] > │ method0() │
00:00:20 #788 [Verbose] > │ │
00:00:20 #789 [Verbose] > │ │
00:00:20 #790 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #791 [Verbose] >
00:00:20 #792 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #793 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #794 [Verbose] > │ ## integration │
00:00:20 #795 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #796 [Verbose] >
00:00:20 #797 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:20 #798 [Verbose] > type integration = (f64 -> f64) -> f64 -> f64 -> f64
00:00:20 #799 [Verbose] >
00:00:20 #800 [Verbose] > inl integral dt : integration =
00:00:20 #801 [Verbose] > fun f a b =>
00:00:20 #802 [Verbose] > inl rec loop t y =
00:00:20 #803 [Verbose] > if t < b
00:00:20 #804 [Verbose] > then loop (t + dt) (y + f t * dt)
00:00:20 #805 [Verbose] > else t, y
00:00:20 #806 [Verbose] > loop (a + dt / 2) 0
00:00:20 #807 [Verbose] > |> snd
00:00:21 #808 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0255-5513-5f338e491cb3\main.spi
00:00:21 #809 [Verbose] >
00:00:21 #810 [Verbose] > ╭─[ 212.41ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #811 [Verbose] > │ () │
00:00:21 #812 [Verbose] > │ │
00:00:21 #813 [Verbose] > │ │
00:00:21 #814 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #815 [Verbose] >
00:00:21 #816 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #817 [Verbose] > // // test
00:00:21 #818 [Verbose] >
00:00:21 #819 [Verbose] > integral 0.01 math.square 0 1
00:00:21 #820 [Verbose] > |> _almost_equal 0.33332500000000004
00:00:21 #821 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0276-7659-73a220020074\main.spi
00:00:21 #822 [Verbose] >
00:00:21 #823 [Verbose] > ╭─[ 187.72ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #824 [Verbose] > │ let rec method0 () : unit = │
00:00:21 #825 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.3333250000000004} / │
00:00:21 #826 [Verbose] > │ expected: %A{0.33332500000000004}" │
00:00:21 #827 [Verbose] > │ () │
00:00:21 #828 [Verbose] > │ method0() │
00:00:21 #829 [Verbose] > │ │
00:00:21 #830 [Verbose] > │ │
00:00:21 #831 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #832 [Verbose] >
00:00:21 #833 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #834 [Verbose] > inl integral' dt : integration =
00:00:21 #835 [Verbose] > fun f a b =>
00:00:21 #836 [Verbose] > listm'.init_series (a + dt / 2) (b - dt / 2) dt
00:00:21 #837 [Verbose] > |> listm.map (f >> (*) dt)
00:00:21 #838 [Verbose] > |> listm'.sum
00:00:21 #839 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0295-9580-9b51e48c8435\main.spi
00:00:21 #840 [Verbose] >
00:00:21 #841 [Verbose] > ╭─[ 184.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #842 [Verbose] > │ () │
00:00:21 #843 [Verbose] > │ │
00:00:21 #844 [Verbose] > │ │
00:00:21 #845 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #846 [Verbose] >
00:00:21 #847 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #848 [Verbose] > // // test
00:00:21 #849 [Verbose] >
00:00:21 #850 [Verbose] > integral' 0.1 math.square 0 1
00:00:21 #851 [Verbose] > |> _almost_equal (integral 0.1 math.square 0 1)
00:00:21 #852 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0314-1440-14773e831f0e\main.spi
00:00:21 #853 [Verbose] >
00:00:21 #854 [Verbose] > ╭─[ 188.61ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #855 [Verbose] > │ let rec method0 () : unit = │
00:00:21 #856 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{0.3325000000000001} / │
00:00:21 #857 [Verbose] > │ expected: %A{0.33249999999999996}" │
00:00:21 #858 [Verbose] > │ () │
00:00:21 #859 [Verbose] > │ method0() │
00:00:21 #860 [Verbose] > │ │
00:00:21 #861 [Verbose] > │ │
00:00:21 #862 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #863 [Verbose] >
00:00:21 #864 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #865 [Verbose] > inl integral'' dt : integration =
00:00:21 #866 [Verbose] > fun f a b =>
00:00:21 #867 [Verbose] > am'.init_series (a + dt / 2) (b - dt / 2) dt
00:00:21 #868 [Verbose] > |> am.map (f >> (*) dt)
00:00:21 #869 [Verbose] > |> am'.sum
00:00:21 #870 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0333-3367-3d15d553affb\main.spi
00:00:21 #871 [Verbose] >
00:00:21 #872 [Verbose] > ╭─[ 172.70ms - stdout ]────────────────────────────────────────────────────────╮
00:00:21 #873 [Verbose] > │ () │
00:00:21 #874 [Verbose] > │ │
00:00:21 #875 [Verbose] > │ │
00:00:21 #876 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #877 [Verbose] >
00:00:21 #878 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:21 #879 [Verbose] > // // test
00:00:21 #880 [Verbose] >
00:00:21 #881 [Verbose] > integral'' 0.01 math.square 0 1
00:00:21 #882 [Verbose] > |> _almost_equal (integral 0.01 math.square 0 1)
00:00:22 #883 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0351-5121-5c0101439ddc\main.spi
00:00:22 #884 [Verbose] >
00:00:22 #885 [Verbose] > ╭─[ 310.79ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #886 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:22 #887 [Verbose] > │ and Mut1 = {mutable l0 : int32; mutable l1 : float} │
00:00:22 #888 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:22 #889 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:22 #890 [Verbose] > │ let v2 : bool = v1 < 100 │
00:00:22 #891 [Verbose] > │ v2 │
00:00:22 #892 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:22 #893 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:22 #894 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #895 [Verbose] > │ v3 │
00:00:22 #896 [Verbose] > │ and method3 (v0 : int32, v1 : Mut1) : bool = │
00:00:22 #897 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:22 #898 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:22 #899 [Verbose] > │ v3 │
00:00:22 #900 [Verbose] > │ and method0 () : unit = │
00:00:22 #901 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (100) │
00:00:22 #902 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:22 #903 [Verbose] > │ while method1(v1) do │
00:00:22 #904 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:22 #905 [Verbose] > │ let v4 : float = float v3 │
00:00:22 #906 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:22 #907 [Verbose] > │ let v6 : float = 0.005 + v5 │
00:00:22 #908 [Verbose] > │ v0.[int v3] <- v6 │
00:00:22 #909 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:22 #910 [Verbose] > │ v1.l0 <- v7 │
00:00:22 #911 [Verbose] > │ () │
00:00:22 #912 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:22 #913 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:22 #914 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:22 #915 [Verbose] > │ while method2(v8, v10) do │
00:00:22 #916 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:22 #917 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:22 #918 [Verbose] > │ let v14 : float = v13 ** 2.0 │
00:00:22 #919 [Verbose] > │ let v15 : float = 0.01 * v14 │
00:00:22 #920 [Verbose] > │ v9.[int v12] <- v15 │
00:00:22 #921 [Verbose] > │ let v16 : int32 = v12 + 1 │
00:00:22 #922 [Verbose] > │ v10.l0 <- v16 │
00:00:22 #923 [Verbose] > │ () │
00:00:22 #924 [Verbose] > │ let v17 : int32 = v9.Length │
00:00:22 #925 [Verbose] > │ let v18 : Mut1 = {l0 = 0; l1 = 0.0} : Mut1 │
00:00:22 #926 [Verbose] > │ while method3(v17, v18) do │
00:00:22 #927 [Verbose] > │ let v20 : int32 = v18.l0 │
00:00:22 #928 [Verbose] > │ let v21 : float = v18.l1 │
00:00:22 #929 [Verbose] > │ let v22 : float = v9.[int v20] │
00:00:22 #930 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:22 #931 [Verbose] > │ let v24 : int32 = v20 + 1 │
00:00:22 #932 [Verbose] > │ v18.l0 <- v24 │
00:00:22 #933 [Verbose] > │ v18.l1 <- v23 │
00:00:22 #934 [Verbose] > │ () │
00:00:22 #935 [Verbose] > │ let v25 : float = v18.l1 │
00:00:22 #936 [Verbose] > │ let v26 : float = 0.3333250000000004 - v25 │
00:00:22 #937 [Verbose] > │ let v27 : float = -v26 │
00:00:22 #938 [Verbose] > │ let v28 : bool = v26 >= v27 │
00:00:22 #939 [Verbose] > │ let v29 : float = │
00:00:22 #940 [Verbose] > │ if v28 then │
00:00:22 #941 [Verbose] > │ v26 │
00:00:22 #942 [Verbose] > │ else │
00:00:22 #943 [Verbose] > │ v27 │
00:00:22 #944 [Verbose] > │ let v30 : bool = v29 < 1E-08 │
00:00:22 #945 [Verbose] > │ let v31 : string = $"_almost_equal / actual: %A{v25} / expected: │
00:00:22 #946 [Verbose] > │ %A{0.3333250000000004}" │
00:00:22 #947 [Verbose] > │ let v32 : bool = v30 = false │
00:00:22 #948 [Verbose] > │ if v32 then │
00:00:22 #949 [Verbose] > │ failwith<unit> v31 │
00:00:22 #950 [Verbose] > │ method0() │
00:00:22 #951 [Verbose] > │ │
00:00:22 #952 [Verbose] > │ │
00:00:22 #953 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #954 [Verbose] >
00:00:22 #955 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #956 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #957 [Verbose] > │ ## anti_derivative │
00:00:22 #958 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #959 [Verbose] >
00:00:22 #960 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #961 [Verbose] > inl anti_derivative dt v0 a t =
00:00:22 #962 [Verbose] > v0 + integral' dt a 0 t
00:00:22 #963 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0385-8512-85d4ccf55f23\main.spi
00:00:22 #964 [Verbose] >
00:00:22 #965 [Verbose] > ╭─[ 190.70ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #966 [Verbose] > │ () │
00:00:22 #967 [Verbose] > │ │
00:00:22 #968 [Verbose] > │ │
00:00:22 #969 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #970 [Verbose] >
00:00:22 #971 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #972 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #973 [Verbose] > │ ## velocity_ft │
00:00:22 #974 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #975 [Verbose] >
00:00:22 #976 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #977 [Verbose] > type velocity_ft = mass -> velocity -> list (time -> force) -> (time ->
00:00:22 #978 [Verbose] > velocity)
00:00:22 #979 [Verbose] >
00:00:22 #980 [Verbose] > inl velocity_ft dt : velocity_ft =
00:00:22 #981 [Verbose] > fun m v0 fs =>
00:00:22 #982 [Verbose] > inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum
00:00:22 #983 [Verbose] > inl a t = f_net t / m
00:00:22 #984 [Verbose] > anti_derivative dt v0 a
00:00:22 #985 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0404-0462-0f6de770354f\main.spi
00:00:22 #986 [Verbose] >
00:00:22 #987 [Verbose] > ╭─[ 179.60ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #988 [Verbose] > │ () │
00:00:22 #989 [Verbose] > │ │
00:00:22 #990 [Verbose] > │ │
00:00:22 #991 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #992 [Verbose] >
00:00:22 #993 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:22 #994 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:22 #995 [Verbose] > │ ## position_ft │
00:00:22 #996 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #997 [Verbose] >
00:00:22 #998 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #999 [Verbose] > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time
00:00:22 #1000 [Verbose] > -> position)
00:00:22 #1001 [Verbose] >
00:00:22 #1002 [Verbose] > inl position_ft dt : position_ft =
00:00:22 #1003 [Verbose] > fun m x0 v0 fs =>
00:00:22 #1004 [Verbose] > velocity_ft dt m v0 fs
00:00:22 #1005 [Verbose] > |> anti_derivative dt x0
00:00:22 #1006 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0423-2300-2363d1065245\main.spi
00:00:22 #1007 [Verbose] >
00:00:22 #1008 [Verbose] > ╭─[ 309.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:22 #1009 [Verbose] > │ () │
00:00:22 #1010 [Verbose] > │ │
00:00:22 #1011 [Verbose] > │ │
00:00:22 #1012 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 #1013 [Verbose] >
00:00:22 #1014 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 #1015 [Verbose] > // // test
00:00:22 #1016 [Verbose] >
00:00:22 #1017 [Verbose] > inl pedal_coast (t : time) : force =
00:00:22 #1018 [Verbose] > inl t_cycle = 20
00:00:22 #1019 [Verbose] > inl n_complete : i32 = t / t_cycle |> conv
00:00:22 #1020 [Verbose] > inl remainder = t - conv n_complete * t_cycle
00:00:22 #1021 [Verbose] > if remainder > 0 && remainder < 10
00:00:22 #1022 [Verbose] > then 10
00:00:22 #1023 [Verbose] > else 0
00:00:22 #1024 [Verbose] >
00:00:22 #1025 [Verbose] > inl x = am'.init_series -5 45 0.1
00:00:22 #1026 [Verbose] > inl y = x |> am.map pedal_coast
00:00:22 #1027 [Verbose] > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]]
00:00:23 #1028 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0454-5426-5cf5132be298\main.spi
00:00:23 #1029 [Verbose] >
00:00:23 #1030 [Verbose] > ╭─[ 215.13ms - return value ]──────────────────────────────────────────────────╮
00:00:23 #1031 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:23 #1032 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:23 #1033 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:23 #1034 [Verbose] > │ stroke="none"/> │
00:00:23 #1035 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:23 #1036 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:23 #1037 [Verbose] > │ fill="#FFFFFF"> │
00:00:23 #1038 [Verbose] > │ child pedaling then coasting │
00:00:23 #1039 [Verbose] > │ </text> │
00:00:23 #1040 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:23 #1041 [Verbose] > │ y2="75"/> │
00:00:23 #1042 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:23 #1043 [Verbose] > │ y2="75"/> │
00:00:23 #1044 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:23 #1045 [Verbose] > │ y2="75"/> │
00:00:23 #1046 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:23 #1047 [Verbose] > │ y2="75"/> │
00:00:23 #1048 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:23 #1049 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1050 [Verbose] >
00:00:23 #1051 [Verbose] > ╭─[ 225.75ms - stdout ]────────────────────────────────────────────────────────╮
00:00:23 #1052 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:23 #1053 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:23 #1054 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:23 #1055 [Verbose] > │ let v2 : bool = v1 < 501 │
00:00:23 #1056 [Verbose] > │ v2 │
00:00:23 #1057 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:23 #1058 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:23 #1059 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:23 #1060 [Verbose] > │ v3 │
00:00:23 #1061 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:23 #1062 [Verbose] > │ []) * (float [])) [])) = │
00:00:23 #1063 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
00:00:23 #1064 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1065 [Verbose] > │ while method1(v1) do │
00:00:23 #1066 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:23 #1067 [Verbose] > │ let v4 : float = float v3 │
00:00:23 #1068 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:23 #1069 [Verbose] > │ let v6 : float = -5.0 + v5 │
00:00:23 #1070 [Verbose] > │ v0.[int v3] <- v6 │
00:00:23 #1071 [Verbose] > │ let v7 : int32 = v3 + 1 │
00:00:23 #1072 [Verbose] > │ v1.l0 <- v7 │
00:00:23 #1073 [Verbose] > │ () │
00:00:23 #1074 [Verbose] > │ let v8 : int32 = v0.Length │
00:00:23 #1075 [Verbose] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
00:00:23 #1076 [Verbose] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1077 [Verbose] > │ while method2(v8, v10) do │
00:00:23 #1078 [Verbose] > │ let v12 : int32 = v10.l0 │
00:00:23 #1079 [Verbose] > │ let v13 : float = v0.[int v12] │
00:00:23 #1080 [Verbose] > │ let v14 : float = v13 / 20.0 │
00:00:23 #1081 [Verbose] > │ let v15 : int32 = int32 v14 │
00:00:23 #1082 [Verbose] > │ let v16 : float = float v15 │
00:00:23 #1083 [Verbose] > │ let v17 : float = v16 * 20.0 │
00:00:23 #1084 [Verbose] > │ let v18 : float = v13 - v17 │
00:00:23 #1085 [Verbose] > │ let v19 : bool = v18 > 0.0 │
00:00:23 #1086 [Verbose] > │ let v21 : bool = │
00:00:23 #1087 [Verbose] > │ if v19 then │
00:00:23 #1088 [Verbose] > │ let v20 : bool = v18 < 10.0 │
00:00:23 #1089 [Verbose] > │ v20 │
00:00:23 #1090 [Verbose] > │ else │
00:00:23 #1091 [Verbose] > │ false │
00:00:23 #1092 [Verbose] > │ let v22 : float = │
00:00:23 #1093 [Verbose] > │ if v21 then │
00:00:23 #1094 [Verbose] > │ 10.0 │
00:00:23 #1095 [Verbose] > │ else │
00:00:23 #1096 [Verbose] > │ 0.0 │
00:00:23 #1097 [Verbose] > │ v9.[int v12] <- v22 │
00:00:23 #1098 [Verbose] > │ let v23 : int32 = v12 + 1 │
00:00:23 #1099 [Verbose] > │ v10.l0 <- v23 │
00:00:23 #1100 [Verbose] > │ () │
00:00:23 #1101 [Verbose] > │ let v24 : string = "force on bike (N)" │
00:00:23 #1102 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:23 #1103 [Verbose] > │ (v24, v0, v9)|] │
00:00:23 #1104 [Verbose] > │ let v26 : string = "child pedaling then coasting" │
00:00:23 #1105 [Verbose] > │ let v27 : string = "time (s)" │
00:00:23 #1106 [Verbose] > │ let v28 : string = "" │
00:00:23 #1107 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:23 #1108 [Verbose] > │ method0() │
00:00:23 #1109 [Verbose] > │ │
00:00:23 #1110 [Verbose] > │ │
00:00:23 #1111 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1112 [Verbose] >
00:00:23 #1113 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1114 [Verbose] > // // test
00:00:23 #1115 [Verbose] >
00:00:23 #1116 [Verbose] > inl x = am'.init_series -5 45 1
00:00:23 #1117 [Verbose] > inl y = x |> am.map (position_ft 0.1f64 20 0 0 [[ pedal_coast ]])
00:00:23 #1118 [Verbose] > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y
00:00:23 #1119 [Verbose] > ]]
00:00:23 #1120 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0479-7913-74d15026f5dd\main.spi
00:00:23 #1121 [Verbose] >
00:00:23 #1122 [Verbose] > ╭─[ 556.51ms - return value ]──────────────────────────────────────────────────╮
00:00:23 #1123 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:23 #1124 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:23 #1125 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:23 #1126 [Verbose] > │ stroke="none"/> │
00:00:23 #1127 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:23 #1128 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:23 #1129 [Verbose] > │ fill="#FFFFFF"> │
00:00:23 #1130 [Verbose] > │ child pedaling then coasting │
00:00:23 #1131 [Verbose] > │ </text> │
00:00:23 #1132 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:23 #1133 [Verbose] > │ y2="75"/> │
00:00:23 #1134 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:23 #1135 [Verbose] > │ y2="75"/> │
00:00:23 #1136 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:23 #1137 [Verbose] > │ y2="75"/> │
00:00:23 #1138 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:23 #1139 [Verbose] > │ y2="75"/> │
00:00:23 #1140 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:23 #1141 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1142 [Verbose] >
00:00:23 #1143 [Verbose] > ╭─[ 571.00ms - stdout ]────────────────────────────────────────────────────────╮
00:00:23 #1144 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:23 #1145 [Verbose] > │ and UH0 = │
00:00:23 #1146 [Verbose] > │ | UH0_0 of float * UH0 │
00:00:23 #1147 [Verbose] > │ | UH0_1 │
00:00:23 #1148 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:23 #1149 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:23 #1150 [Verbose] > │ let v2 : bool = v1 < 51 │
00:00:23 #1151 [Verbose] > │ v2 │
00:00:23 #1152 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:23 #1153 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:23 #1154 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:23 #1155 [Verbose] > │ v3 │
00:00:23 #1156 [Verbose] > │ and method3 (v0 : float, v1 : float) : UH0 = │
00:00:23 #1157 [Verbose] > │ let v2 : bool = v1 < v0 │
00:00:23 #1158 [Verbose] > │ if v2 then │
00:00:23 #1159 [Verbose] > │ let v3 : float = 0.1 * v1 │
00:00:23 #1160 [Verbose] > │ let v4 : float = 0.05 + v3 │
00:00:23 #1161 [Verbose] > │ let v5 : float = v1 + 1.0 │
00:00:23 #1162 [Verbose] > │ let v6 : UH0 = method3(v0, v5) │
00:00:23 #1163 [Verbose] > │ UH0_0(v4, v6) │
00:00:23 #1164 [Verbose] > │ else │
00:00:23 #1165 [Verbose] > │ UH0_1 │
00:00:23 #1166 [Verbose] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:23 #1167 [Verbose] > │ match v0 with │
00:00:23 #1168 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1169 [Verbose] > │ let v4 : UH0 = method5(v3, v1) │
00:00:23 #1170 [Verbose] > │ let v5 : float = v2 / 20.0 │
00:00:23 #1171 [Verbose] > │ let v6 : int32 = int32 v5 │
00:00:23 #1172 [Verbose] > │ let v7 : float = float v6 │
00:00:23 #1173 [Verbose] > │ let v8 : float = v7 * 20.0 │
00:00:23 #1174 [Verbose] > │ let v9 : float = v2 - v8 │
00:00:23 #1175 [Verbose] > │ let v10 : bool = v9 > 0.0 │
00:00:23 #1176 [Verbose] > │ let v12 : bool = │
00:00:23 #1177 [Verbose] > │ if v10 then │
00:00:23 #1178 [Verbose] > │ let v11 : bool = v9 < 10.0 │
00:00:23 #1179 [Verbose] > │ v11 │
00:00:23 #1180 [Verbose] > │ else │
00:00:23 #1181 [Verbose] > │ false │
00:00:23 #1182 [Verbose] > │ let v13 : float = │
00:00:23 #1183 [Verbose] > │ if v12 then │
00:00:23 #1184 [Verbose] > │ 10.0 │
00:00:23 #1185 [Verbose] > │ else │
00:00:23 #1186 [Verbose] > │ 0.0 │
00:00:23 #1187 [Verbose] > │ let v14 : float = v13 / 20.0 │
00:00:23 #1188 [Verbose] > │ let v15 : float = 0.1 * v14 │
00:00:23 #1189 [Verbose] > │ UH0_0(v15, v4) │
00:00:23 #1190 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1191 [Verbose] > │ v1 │
00:00:23 #1192 [Verbose] > │ and method6 (v0 : UH0, v1 : float) : float = │
00:00:23 #1193 [Verbose] > │ match v0 with │
00:00:23 #1194 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1195 [Verbose] > │ let v4 : float = v1 + v2 │
00:00:23 #1196 [Verbose] > │ method6(v3, v4) │
00:00:23 #1197 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1198 [Verbose] > │ v1 │
00:00:23 #1199 [Verbose] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:23 #1200 [Verbose] > │ match v0 with │
00:00:23 #1201 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:23 #1202 [Verbose] > │ let v4 : UH0 = method4(v3, v1) │
00:00:23 #1203 [Verbose] > │ let v5 : float = v2 - 0.05 │
00:00:23 #1204 [Verbose] > │ let v6 : float = v5 - 0.05 │
00:00:23 #1205 [Verbose] > │ let v7 : float = v6 / 0.1 │
00:00:23 #1206 [Verbose] > │ let v8 : float = v7 + 1.0 │
00:00:23 #1207 [Verbose] > │ let v9 : float = 0.0 │
00:00:23 #1208 [Verbose] > │ let v10 : UH0 = method3(v8, v9) │
00:00:23 #1209 [Verbose] > │ let v11 : UH0 = UH0_1 │
00:00:23 #1210 [Verbose] > │ let v12 : UH0 = method5(v10, v11) │
00:00:23 #1211 [Verbose] > │ let v13 : float = 0.0 │
00:00:23 #1212 [Verbose] > │ let v14 : float = method6(v12, v13) │
00:00:23 #1213 [Verbose] > │ let v15 : float = 0.1 * v14 │
00:00:23 #1214 [Verbose] > │ UH0_0(v15, v4) │
00:00:23 #1215 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:23 #1216 [Verbose] > │ v1 │
00:00:23 #1217 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:23 #1218 [Verbose] > │ []) * (float [])) [])) = │
00:00:23 #1219 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (51) │
00:00:23 #1220 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1221 [Verbose] > │ while method1(v1) do │
00:00:23 #1222 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:23 #1223 [Verbose] > │ let v4 : float = float v3 │
00:00:23 #1224 [Verbose] > │ let v5 : float = -5.0 + v4 │
00:00:23 #1225 [Verbose] > │ v0.[int v3] <- v5 │
00:00:23 #1226 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:23 #1227 [Verbose] > │ v1.l0 <- v6 │
00:00:23 #1228 [Verbose] > │ () │
00:00:23 #1229 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:23 #1230 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:23 #1231 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:23 #1232 [Verbose] > │ while method2(v7, v9) do │
00:00:23 #1233 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:23 #1234 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:23 #1235 [Verbose] > │ let v13 : float = v12 - 0.05 │
00:00:23 #1236 [Verbose] > │ let v14 : float = v13 - 0.05 │
00:00:23 #1237 [Verbose] > │ let v15 : float = v14 / 0.1 │
00:00:23 #1238 [Verbose] > │ let v16 : float = v15 + 1.0 │
00:00:23 #1239 [Verbose] > │ let v17 : float = 0.0 │
00:00:23 #1240 [Verbose] > │ let v18 : UH0 = method3(v16, v17) │
00:00:23 #1241 [Verbose] > │ let v19 : UH0 = UH0_1 │
00:00:23 #1242 [Verbose] > │ let v20 : UH0 = method4(v18, v19) │
00:00:23 #1243 [Verbose] > │ let v21 : float = 0.0 │
00:00:23 #1244 [Verbose] > │ let v22 : float = method6(v20, v21) │
00:00:23 #1245 [Verbose] > │ v8.[int v11] <- v22 │
00:00:23 #1246 [Verbose] > │ let v23 : int32 = v11 + 1 │
00:00:23 #1247 [Verbose] > │ v9.l0 <- v23 │
00:00:23 #1248 [Verbose] > │ () │
00:00:23 #1249 [Verbose] > │ let v24 : string = "position of bike (m)" │
00:00:23 #1250 [Verbose] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:23 #1251 [Verbose] > │ (v24, v0, v8)|] │
00:00:23 #1252 [Verbose] > │ let v26 : string = "child pedaling then coasting" │
00:00:23 #1253 [Verbose] > │ let v27 : string = "time (s)" │
00:00:23 #1254 [Verbose] > │ let v28 : string = "" │
00:00:23 #1255 [Verbose] > │ struct (v26, v27, v28, v25) │
00:00:23 #1256 [Verbose] > │ method0() │
00:00:23 #1257 [Verbose] > │ │
00:00:23 #1258 [Verbose] > │ │
00:00:23 #1259 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1260 [Verbose] >
00:00:23 #1261 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 #1262 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 #1263 [Verbose] > │ ## velocity_fv │
00:00:23 #1264 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 #1265 [Verbose] >
00:00:23 #1266 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 #1267 [Verbose] > inl newton_second_v m fs v0 =
00:00:23 #1268 [Verbose] > fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m
00:00:23 #1269 [Verbose] >
00:00:23 #1270 [Verbose] > inl update_velocity dt m fs v0 =
00:00:23 #1271 [Verbose] > v0 + newton_second_v m fs v0 * dt
00:00:23 #1272 [Verbose] >
00:00:23 #1273 [Verbose] > inl velocity_fv dt m v0 fs t =
00:00:23 #1274 [Verbose] > stream.iterate (update_velocity dt m fs) v0
00:00:23 #1275 [Verbose] > |> stream.try_item (t / dt |> math.round |> abs)
00:00:23 #1276 [Verbose] > |> optionm'.default_value 0
00:00:23 #1277 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0542-4234-49122d00acbf\main.spi
00:00:24 #1278 [Verbose] >
00:00:24 #1279 [Verbose] > ╭─[ 208.67ms - stdout ]────────────────────────────────────────────────────────╮
00:00:24 #1280 [Verbose] > │ () │
00:00:24 #1281 [Verbose] > │ │
00:00:24 #1282 [Verbose] > │ │
00:00:24 #1283 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1284 [Verbose] >
00:00:24 #1285 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 #1286 [Verbose] > inl f_air drag rho area v =
00:00:24 #1287 [Verbose] > -drag * rho * area * abs v * v / 2
00:00:24 #1288 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0563-6323-661b87f346b2\main.spi
00:00:24 #1289 [Verbose] >
00:00:24 #1290 [Verbose] > ╭─[ 201.67ms - stdout ]────────────────────────────────────────────────────────╮
00:00:24 #1291 [Verbose] > │ () │
00:00:24 #1292 [Verbose] > │ │
00:00:24 #1293 [Verbose] > │ │
00:00:24 #1294 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1295 [Verbose] >
00:00:24 #1296 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 #1297 [Verbose] > // // test
00:00:24 #1298 [Verbose] >
00:00:24 #1299 [Verbose] > inl x = am'.init_series 0 60 0.5
00:00:24 #1300 [Verbose] > inl y = x |> am.map (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 0.6
00:00:24 #1301 [Verbose] > ]])
00:00:24 #1302 [Verbose] > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]]
00:00:24 #1303 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0583-8383-8b8268bd8907\main.spi
00:00:24 #1304 [Verbose] >
00:00:24 #1305 [Verbose] > ╭─[ 552.97ms - return value ]──────────────────────────────────────────────────╮
00:00:24 #1306 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:24 #1307 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:24 #1308 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:24 #1309 [Verbose] > │ stroke="none"/> │
00:00:24 #1310 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:24 #1311 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:24 #1312 [Verbose] > │ fill="#FFFFFF"> │
00:00:24 #1313 [Verbose] > │ bike velocity │
00:00:24 #1314 [Verbose] > │ </text> │
00:00:24 #1315 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:24 #1316 [Verbose] > │ y2="75"/> │
00:00:24 #1317 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:24 #1318 [Verbose] > │ y2="75"/> │
00:00:24 #1319 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:24 #1320 [Verbose] > │ y2="75"/> │
00:00:24 #1321 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:24 #1322 [Verbose] > │ y2="75"/> │
00:00:24 #1323 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x... │
00:00:24 #1324 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 #1325 [Verbose] >
00:00:24 #1326 [Verbose] > ╭─[ 567.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:24 #1327 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:24 #1328 [Verbose] > │ and UH0 = │
00:00:24 #1329 [Verbose] > │ | UH0_0 of float * (unit -> UH0) │
00:00:24 #1330 [Verbose] > │ | UH0_1 │
00:00:24 #1331 [Verbose] > │ and [<Struct>] US0 = │
00:00:24 #1332 [Verbose] > │ | US0_0 │
00:00:24 #1333 [Verbose] > │ | US0_1 of f1_0 : float │
00:00:24 #1334 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:24 #1335 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:24 #1336 [Verbose] > │ let v2 : bool = v1 < 121 │
00:00:24 #1337 [Verbose] > │ v2 │
00:00:24 #1338 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:24 #1339 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:24 #1340 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:24 #1341 [Verbose] > │ v3 │
00:00:24 #1342 [Verbose] > │ and closure129 () () : UH0 = │
00:00:24 #1343 [Verbose] > │ let v0 : (unit -> UH0) = closure129() │
00:00:24 #1344 [Verbose] > │ UH0_0(11.664236870396083, v0) │
00:00:24 #1345 [Verbose] > │ and closure128 () () : UH0 = │
00:00:24 #1346 [Verbose] > │ let v0 : (unit -> UH0) = closure129() │
00:00:24 #1347 [Verbose] > │ UH0_0(11.664236870396081, v0) │
00:00:24 #1348 [Verbose] > │ and closure127 () () : UH0 = │
00:00:24 #1349 [Verbose] > │ let v0 : (unit -> UH0) = closure128() │
00:00:24 #1350 [Verbose] > │ UH0_0(11.66423687039608, v0) │
00:00:24 #1351 [Verbose] > │ and closure126 () () : UH0 = │
00:00:24 #1352 [Verbose] > │ let v0 : (unit -> UH0) = closure127() │
00:00:24 #1353 [Verbose] > │ UH0_0(11.664236870396078, v0) │
00:00:24 #1354 [Verbose] > │ and closure125 () () : UH0 = │
00:00:24 #1355 [Verbose] > │ let v0 : (unit -> UH0) = closure126() │
00:00:24 #1356 [Verbose] > │ UH0_0(11.664236870396074, v0) │
00:00:24 #1357 [Verbose] > │ and closure124 () () : UH0 = │
00:00:24 #1358 [Verbose] > │ let v0 : (unit -> UH0) = closure125() │
00:00:24 #1359 [Verbose] > │ UH0_0(11.66423687039607, v0) │
00:00:24 #1360 [Verbose] > │ and closure123 () () : UH0 = │
00:00:24 #1361 [Verbose] > │ let v0 : (unit -> UH0) = closure124() │
00:00:24 #1362 [Verbose] > │ UH0_0(11.664236870396065, v0) │
00:00:24 #1363 [Verbose] > │ and closure122 () () : UH0 = │
00:00:24 #1364 [Verbose] > │ let v0 : (unit -> UH0) = closure123() │
00:00:24 #1365 [Verbose] > │ UH0_0(11.664236870396058, v0) │
00:00:24 #1366 [Verbose] > │ and closure121 () () : UH0 = │
00:00:24 #1367 [Verbose] > │ let v0 : (unit -> UH0) = closure122() │
00:00:24 #1368 [Verbose] > │ UH0_0(11.66423687039605, v0) │
00:00:24 #1369 [Verbose] > │ and closure120 () () : UH0 = │
00:00:24 #1370 [Verbose] > │ let v0 : (unit -> UH0) = closure121() │
00:00:24 #1371 [Verbose] > │ UH0_0(11.664236870396037, v0) │
00:00:24 #1372 [Verbose] > │ and closure119 () () : UH0 = │
00:00:24 #1373 [Verbose] > │ let v0 : (unit -> UH0) = closure120() │
00:00:24 #1374 [Verbose] > │ UH0_0(11.66423687039602, v0) │
00:00:24 #1375 [Verbose] > │ and closure118 () () : UH0 = │
00:00:24 #1376 [Verbose] > │ let v0 : (unit -> UH0) = closure119() │
00:00:24 #1377 [Verbose] > │ UH0_0(11.664236870396, v0) │
00:00:24 #1378 [Verbose] > │ and closure117 () () : UH0 = │
00:00:24 #1379 [Verbose] > │ let v0 : (unit -> UH0) = closure118() │
00:00:24 #1380 [Verbose] > │ UH0_0(11.664236870395971, v0) │
00:00:24 #1381 [Verbose] > │ and closure116 () () : UH0 = │
00:00:24 #1382 [Verbose] > │ let v0 : (unit -> UH0) = closure117() │
00:00:24 #1383 [Verbose] > │ UH0_0(11.664236870395934, v0) │
00:00:24 #1384 [Verbose] > │ and closure115 () () : UH0 = │
00:00:24 #1385 [Verbose] > │ let v0 : (unit -> UH0) = closure116() │
00:00:24 #1386 [Verbose] > │ UH0_0(11.664236870395884, v0) │
00:00:24 #1387 [Verbose] > │ and closure114 () () : UH0 = │
00:00:24 #1388 [Verbose] > │ let v0 : (unit -> UH0) = closure115() │
00:00:24 #1389 [Verbose] > │ UH0_0(11.664236870395818, v0) │
00:00:24 #1390 [Verbose] > │ and closure113 () () : UH0 = │
00:00:24 #1391 [Verbose] > │ let v0 : (unit -> UH0) = closure114() │
00:00:24 #1392 [Verbose] > │ UH0_0(11.664236870395731, v0) │
00:00:24 #1393 [Verbose] > │ and closure112 () () : UH0 = │
00:00:24 #1394 [Verbose] > │ let v0 : (unit -> UH0) = closure113() │
00:00:24 #1395 [Verbose] > │ UH0_0(11.664236870395616, v0) │
00:00:24 #1396 [Verbose] > │ and closure111 () () : UH0 = │
00:00:24 #1397 [Verbose] > │ let v0 : (unit -> UH0) = closure112() │
00:00:24 #1398 [Verbose] > │ UH0_0(11.664236870395463, v0) │
00:00:24 #1399 [Verbose] > │ and closure110 () () : UH0 = │
00:00:24 #1400 [Verbose] > │ let v0 : (unit -> UH0) = closure111() │
00:00:24 #1401 [Verbose] > │ UH0_0(11.66423687039526, v0) │
00:00:24 #1402 [Verbose] > │ and closure109 () () : UH0 = │
00:00:24 #1403 [Verbose] > │ let v0 : (unit -> UH0) = closure110() │
00:00:24 #1404 [Verbose] > │ UH0_0(11.664236870394992, v0) │
00:00:24 #1405 [Verbose] > │ and closure108 () () : UH0 = │
00:00:24 #1406 [Verbose] > │ let v0 : (unit -> UH0) = closure109() │
00:00:24 #1407 [Verbose] > │ UH0_0(11.664236870394637, v0) │
00:00:24 #1408 [Verbose] > │ and closure107 () () : UH0 = │
00:00:24 #1409 [Verbose] > │ let v0 : (unit -> UH0) = closure108() │
00:00:24 #1410 [Verbose] > │ UH0_0(11.664236870394168, v0) │
00:00:24 #1411 [Verbose] > │ and closure106 () () : UH0 = │
00:00:24 #1412 [Verbose] > │ let v0 : (unit -> UH0) = closure107() │
00:00:24 #1413 [Verbose] > │ UH0_0(11.664236870393546, v0) │
00:00:24 #1414 [Verbose] > │ and closure105 () () : UH0 = │
00:00:24 #1415 [Verbose] > │ let v0 : (unit -> UH0) = closure106() │
00:00:24 #1416 [Verbose] > │ UH0_0(11.664236870392722, v0) │
00:00:24 #1417 [Verbose] > │ and closure104 () () : UH0 = │
00:00:24 #1418 [Verbose] > │ let v0 : (unit -> UH0) = closure105() │
00:00:24 #1419 [Verbose] > │ UH0_0(11.664236870391631, v0) │
00:00:24 #1420 [Verbose] > │ and closure103 () () : UH0 = │
00:00:24 #1421 [Verbose] > │ let v0 : (unit -> UH0) = closure104() │
00:00:24 #1422 [Verbose] > │ UH0_0(11.664236870390187, v0) │
00:00:24 #1423 [Verbose] > │ and closure102 () () : UH0 = │
00:00:24 #1424 [Verbose] > │ let v0 : (unit -> UH0) = closure103() │
00:00:24 #1425 [Verbose] > │ UH0_0(11.664236870388274, v0) │
00:00:24 #1426 [Verbose] > │ and closure101 () () : UH0 = │
00:00:24 #1427 [Verbose] > │ let v0 : (unit -> UH0) = closure102() │
00:00:24 #1428 [Verbose] > │ UH0_0(11.66423687038574, v0) │
00:00:24 #1429 [Verbose] > │ and closure100 () () : UH0 = │
00:00:24 #1430 [Verbose] > │ let v0 : (unit -> UH0) = closure101() │
00:00:24 #1431 [Verbose] > │ UH0_0(11.664236870382384, v0) │
00:00:24 #1432 [Verbose] > │ and closure99 () () : UH0 = │
00:00:24 #1433 [Verbose] > │ let v0 : (unit -> UH0) = closure100() │
00:00:24 #1434 [Verbose] > │ UH0_0(11.664236870377938, v0) │
00:00:24 #1435 [Verbose] > │ and closure98 () () : UH0 = │
00:00:24 #1436 [Verbose] > │ let v0 : (unit -> UH0) = closure99() │
00:00:24 #1437 [Verbose] > │ UH0_0(11.66423687037205, v0) │
00:00:24 #1438 [Verbose] > │ and closure97 () () : UH0 = │
00:00:24 #1439 [Verbose] > │ let v0 : (unit -> UH0) = closure98() │
00:00:24 #1440 [Verbose] > │ UH0_0(11.664236870364254, v0) │
00:00:24 #1441 [Verbose] > │ and closure96 () () : UH0 = │
00:00:24 #1442 [Verbose] > │ let v0 : (unit -> UH0) = closure97() │
00:00:24 #1443 [Verbose] > │ UH0_0(11.664236870353927, v0) │
00:00:24 #1444 [Verbose] > │ and closure95 () () : UH0 = │
00:00:24 #1445 [Verbose] > │ let v0 : (unit -> UH0) = closure96() │
00:00:24 #1446 [Verbose] > │ UH0_0(11.664236870340249, v0) │
00:00:24 #1447 [Verbose] > │ and closure94 () () : UH0 = │
00:00:24 #1448 [Verbose] > │ let v0 : (unit -> UH0) = closure95() │
00:00:24 #1449 [Verbose] > │ UH0_0(11.664236870322135, v0) │
00:00:24 #1450 [Verbose] > │ and closure93 () () : UH0 = │
00:00:24 #1451 [Verbose] > │ let v0 : (unit -> UH0) = closure94() │
00:00:24 #1452 [Verbose] > │ UH0_0(11.664236870298145, v0) │
00:00:24 #1453 [Verbose] > │ and closure92 () () : UH0 = │
00:00:24 #1454 [Verbose] > │ let v0 : (unit -> UH0) = closure93() │
00:00:24 #1455 [Verbose] > │ UH0_0(11.664236870266372, v0) │
00:00:24 #1456 [Verbose] > │ and closure91 () () : UH0 = │
00:00:24 #1457 [Verbose] > │ let v0 : (unit -> UH0) = closure92() │
00:00:24 #1458 [Verbose] > │ UH0_0(11.664236870224292, v0) │
00:00:24 #1459 [Verbose] > │ and closure90 () () : UH0 = │
00:00:24 #1460 [Verbose] > │ let v0 : (unit -> UH0) = closure91() │
00:00:24 #1461 [Verbose] > │ UH0_0(11.66423687016856, v0) │
00:00:24 #1462 [Verbose] > │ and closure89 () () : UH0 = │
00:00:24 #1463 [Verbose] > │ let v0 : (unit -> UH0) = closure90() │
00:00:24 #1464 [Verbose] > │ UH0_0(11.664236870094747, v0) │
00:00:24 #1465 [Verbose] > │ and closure88 () () : UH0 = │
00:00:24 #1466 [Verbose] > │ let v0 : (unit -> UH0) = closure89() │
00:00:24 #1467 [Verbose] > │ UH0_0(11.664236869996989, v0) │
00:00:24 #1468 [Verbose] > │ and closure87 () () : UH0 = │
00:00:24 #1469 [Verbose] > │ let v0 : (unit -> UH0) = closure88() │
00:00:24 #1470 [Verbose] > │ UH0_0(11.664236869867516, v0) │
00:00:24 #1471 [Verbose] > │ and closure86 () () : UH0 = │
00:00:24 #1472 [Verbose] > │ let v0 : (unit -> UH0) = closure87() │
00:00:24 #1473 [Verbose] > │ UH0_0(11.66423686969604, v0) │
00:00:24 #1474 [Verbose] > │ and closure85 () () : UH0 = │
00:00:24 #1475 [Verbose] > │ let v0 : (unit -> UH0) = closure86() │
00:00:24 #1476 [Verbose] > │ UH0_0(11.664236869468937, v0) │
00:00:24 #1477 [Verbose] > │ and closure84 () () : UH0 = │
00:00:24 #1478 [Verbose] > │ let v0 : (unit -> UH0) = closure85() │
00:00:24 #1479 [Verbose] > │ UH0_0(11.664236869168157, v0) │
00:00:24 #1480 [Verbose] > │ and closure83 () () : UH0 = │
00:00:24 #1481 [Verbose] > │ let v0 : (unit -> UH0) = closure84() │
00:00:24 #1482 [Verbose] > │ UH0_0(11.6642368687698, v0) │
00:00:24 #1483 [Verbose] > │ and closure82 () () : UH0 = │
00:00:24 #1484 [Verbose] > │ let v0 : (unit -> UH0) = closure83() │
00:00:24 #1485 [Verbose] > │ UH0_0(11.664236868242211, v0) │
00:00:24 #1486 [Verbose] > │ and closure81 () () : UH0 = │
00:00:24 #1487 [Verbose] > │ let v0 : (unit -> UH0) = closure82() │
00:00:24 #1488 [Verbose] > │ UH0_0(11.664236867543465, v0) │
00:00:24 #1489 [Verbose] > │ and closure80 () () : UH0 = │
00:00:24 #1490 [Verbose] > │ let v0 : (unit -> UH0) = closure81() │
00:00:24 #1491 [Verbose] > │ UH0_0(11.664236866618037, v0) │
00:00:24 #1492 [Verbose] > │ and closure79 () () : UH0 = │
00:00:24 #1493 [Verbose] > │ let v0 : (unit -> UH0) = closure80() │
00:00:24 #1494 [Verbose] > │ UH0_0(11.664236865392386, v0) │
00:00:24 #1495 [Verbose] > │ and closure78 () () : UH0 = │
00:00:24 #1496 [Verbose] > │ let v0 : (unit -> UH0) = closure79() │
00:00:24 #1497 [Verbose] > │ UH0_0(11.664236863769117, v0) │
00:00:24 #1498 [Verbose] > │ and closure77 () () : UH0 = │
00:00:24 #1499 [Verbose] > │ let v0 : (unit -> UH0) = closure78() │
00:00:24 #1500 [Verbose] > │ UH0_0(11.664236861619237, v0) │
00:00:24 #1501 [Verbose] > │ and closure76 () () : UH0 = │
00:00:24 #1502 [Verbose] > │ let v0 : (unit -> UH0) = closure77() │
00:00:24 #1503 [Verbose] > │ UH0_0(11.664236858771906, v0) │
00:00:24 #1504 [Verbose] > │ and closure75 () () : UH0 = │
00:00:24 #1505 [Verbose] > │ let v0 : (unit -> UH0) = closure76() │
00:00:24 #1506 [Verbose] > │ UH0_0(11.66423685500086, v0) │
00:00:24 #1507 [Verbose] > │ and closure74 () () : UH0 = │
00:00:24 #1508 [Verbose] > │ let v0 : (unit -> UH0) = closure75() │
00:00:24 #1509 [Verbose] > │ UH0_0(11.664236850006436, v0) │
00:00:24 #1510 [Verbose] > │ and closure73 () () : UH0 = │
00:00:24 #1511 [Verbose] > │ let v0 : (unit -> UH0) = closure74() │
00:00:24 #1512 [Verbose] > │ UH0_0(11.664236843391752, v0) │
00:00:24 #1513 [Verbose] > │ and closure72 () () : UH0 = │
00:00:24 #1514 [Verbose] > │ let v0 : (unit -> UH0) = closure73() │
00:00:24 #1515 [Verbose] > │ UH0_0(11.664236834631172, v0) │
00:00:24 #1516 [Verbose] > │ and closure71 () () : UH0 = │
00:00:24 #1517 [Verbose] > │ let v0 : (unit -> UH0) = closure72() │
00:00:24 #1518 [Verbose] > │ UH0_0(11.66423682302854, v0) │
00:00:24 #1519 [Verbose] > │ and closure70 () () : UH0 = │
00:00:24 #1520 [Verbose] > │ let v0 : (unit -> UH0) = closure71() │
00:00:24 #1521 [Verbose] > │ UH0_0(11.664236807661855, v0) │
00:00:24 #1522 [Verbose] > │ and closure69 () () : UH0 = │
00:00:24 #1523 [Verbose] > │ let v0 : (unit -> UH0) = closure70() │
00:00:24 #1524 [Verbose] > │ UH0_0(11.664236787310005, v0) │
00:00:24 #1525 [Verbose] > │ and closure68 () () : UH0 = │
00:00:24 #1526 [Verbose] > │ let v0 : (unit -> UH0) = closure69() │
00:00:24 #1527 [Verbose] > │ UH0_0(11.664236760355733, v0) │
00:00:24 #1528 [Verbose] > │ and closure67 () () : UH0 = │
00:00:24 #1529 [Verbose] > │ let v0 : (unit -> UH0) = closure68() │
00:00:24 #1530 [Verbose] > │ UH0_0(11.664236724657123, v0) │
00:00:24 #1531 [Verbose] > │ and closure66 () () : UH0 = │
00:00:24 #1532 [Verbose] > │ let v0 : (unit -> UH0) = closure67() │
00:00:24 #1533 [Verbose] > │ UH0_0(11.66423667737739, v0) │
00:00:24 #1534 [Verbose] > │ and closure65 () () : UH0 = │
00:00:24 #1535 [Verbose] > │ let v0 : (unit -> UH0) = closure66() │
00:00:24 #1536 [Verbose] > │ UH0_0(11.664236614759462, v0) │
00:00:24 #1537 [Verbose] > │ and closure64 () () : UH0 = │
00:00:24 #1538 [Verbose] > │ let v0 : (unit -> UH0) = closure65() │
00:00:24 #1539 [Verbose] > │ UH0_0(11.664236531827415, v0) │
00:00:24 #1540 [Verbose] > │ and closure63 () () : UH0 = │
00:00:24 #1541 [Verbose] > │ let v0 : (unit -> UH0) = closure64() │
00:00:24 #1542 [Verbose] > │ UH0_0(11.664236421991067, v0) │
00:00:24 #1543 [Verbose] > │ and closure62 () () : UH0 = │
00:00:24 #1544 [Verbose] > │ let v0 : (unit -> UH0) = closure63() │
00:00:24 #1545 [Verbose] > │ UH0_0(11.664236276522294, v0) │
00:00:24 #1546 [Verbose] > │ and closure61 () () : UH0 = │
00:00:24 #1547 [Verbose] > │ let v0 : (unit -> UH0) = closure62() │
00:00:24 #1548 [Verbose] > │ UH0_0(11.664236083861448, v0) │
00:00:24 #1549 [Verbose] > │ and closure60 () () : UH0 = │
00:00:24 #1550 [Verbose] > │ let v0 : (unit -> UH0) = closure61() │
00:00:24 #1551 [Verbose] > │ UH0_0(11.664235828698772, v0) │
00:00:24 #1552 [Verbose] > │ and closure59 () () : UH0 = │
00:00:24 #1553 [Verbose] > │ let v0 : (unit -> UH0) = closure60() │
00:00:24 #1554 [Verbose] > │ UH0_0(11.664235490757811, v0) │
00:00:24 #1555 [Verbose] > │ and closure58 () () : UH0 = │
00:00:24 #1556 [Verbose] > │ let v0 : (unit -> UH0) = closure59() │
00:00:24 #1557 [Verbose] > │ UH0_0(11.664235043184158, v0) │
00:00:24 #1558 [Verbose] > │ and closure57 () () : UH0 = │
00:00:24 #1559 [Verbose] > │ let v0 : (unit -> UH0) = closure58() │
00:00:24 #1560 [Verbose] > │ UH0_0(11.66423445041147, v0) │
00:00:24 #1561 [Verbose] > │ and closure56 () () : UH0 = │
00:00:24 #1562 [Verbose] > │ let v0 : (unit -> UH0) = closure57() │
00:00:24 #1563 [Verbose] > │ UH0_0(11.664233665335203, v0) │
00:00:24 #1564 [Verbose] > │ and closure55 () () : UH0 = │
00:00:24 #1565 [Verbose] > │ let v0 : (unit -> UH0) = closure56() │
00:00:24 #1566 [Verbose] > │ UH0_0(11.664232625569467, v0) │
00:00:24 #1567 [Verbose] > │ and closure54 () () : UH0 = │
00:00:24 #1568 [Verbose] > │ let v0 : (unit -> UH0) = closure55() │
00:00:24 #1569 [Verbose] > │ UH0_0(11.664231248489562, v0) │
00:00:24 #1570 [Verbose] > │ and closure53 () () : UH0 = │
00:00:24 #1571 [Verbose] > │ let v0 : (unit -> UH0) = closure54() │
00:00:24 #1572 [Verbose] > │ UH0_0(11.664229424666262, v0) │
00:00:24 #1573 [Verbose] > │ and closure52 () () : UH0 = │
00:00:24 #1574 [Verbose] > │ let v0 : (unit -> UH0) = closure53() │
00:00:24 #1575 [Verbose] > │ UH0_0(11.66422700917009, v0) │
00:00:24 #1576 [Verbose] > │ and closure51 () () : UH0 = │
00:00:24 #1577 [Verbose] > │ let v0 : (unit -> UH0) = closure52() │
00:00:24 #1578 [Verbose] > │ UH0_0(11.664223810054642, v0) │
00:00:24 #1579 [Verbose] > │ and closure50 () () : UH0 = │
00:00:24 #1580 [Verbose] > │ let v0 : (unit -> UH0) = closure51() │
00:00:24 #1581 [Verbose] > │ UH0_0(11.664219573103773, v0) │
00:00:24 #1582 [Verbose] > │ and closure49 () () : UH0 = │
00:00:24 #1583 [Verbose] > │ let v0 : (unit -> UH0) = closure50() │
00:00:24 #1584 [Verbose] > │ UH0_0(11.6642139616307, v0) │
00:00:24 #1585 [Verbose] > │ and closure48 () () : UH0 = │
00:00:24 #1586 [Verbose] > │ let v0 : (unit -> UH0) = closure49() │
00:00:24 #1587 [Verbose] > │ UH0_0(11.664206529723813, v0) │
00:00:24 #1588 [Verbose] > │ and closure47 () () : UH0 = │
00:00:24 #1589 [Verbose] > │ let v0 : (unit -> UH0) = closure48() │
00:00:24 #1590 [Verbose] > │ UH0_0(11.664196686813408, v0) │
00:00:24 #1591 [Verbose] > │ and closure46 () () : UH0 = │
00:00:24 #1592 [Verbose] > │ let v0 : (unit -> UH0) = closure47() │
00:00:24 #1593 [Verbose] > │ UH0_0(11.664183650743945, v0) │
00:00:24 #1594 [Verbose] > │ and closure45 () () : UH0 = │
00:00:24 #1595 [Verbose] > │ let v0 : (unit -> UH0) = closure46() │
00:00:24 #1596 [Verbose] > │ UH0_0(11.664166385623318, v0) │
00:00:24 #1597 [Verbose] > │ and closure44 () () : UH0 = │
00:00:24 #1598 [Verbose] > │ let v0 : (unit -> UH0) = closure45() │
00:00:24 #1599 [Verbose] > │ UH0_0(11.664143519511356, v0) │
00:00:24 #1600 [Verbose] > │ and closure43 () () : UH0 = │
00:00:24 #1601 [Verbose] > │ let v0 : (unit -> UH0) = closure44() │
00:00:24 #1602 [Verbose] > │ UH0_0(11.664113235408447, v0) │
00:00:24 #1603 [Verbose] > │ and closure42 () () : UH0 = │
00:00:24 #1604 [Verbose] > │ let v0 : (unit -> UH0) = closure43() │
00:00:24 #1605 [Verbose] > │ UH0_0(11.66407312688485, v0) │
00:00:24 #1606 [Verbose] > │ and closure41 () () : UH0 = │
00:00:24 #1607 [Verbose] > │ let v0 : (unit -> UH0) = closure42() │
00:00:24 #1608 [Verbose] > │ UH0_0(11.664020006883758, v0) │
00:00:24 #1609 [Verbose] > │ and closure40 () () : UH0 = │
00:00:24 #1610 [Verbose] > │ let v0 : (unit -> UH0) = closure41() │
00:00:24 #1611 [Verbose] > │ UH0_0(11.663949654514292, v0) │
00:00:24 #1612 [Verbose] > │ and closure39 () () : UH0 = │
00:00:24 #1613 [Verbose] > │ let v0 : (unit -> UH0) = closure40() │
00:00:24 #1614 [Verbose] > │ UH0_0(11.663856479730171, v0) │
00:00:24 #1615 [Verbose] > │ and closure38 () () : UH0 = │
00:00:24 #1616 [Verbose] > │ let v0 : (unit -> UH0) = closure39() │
00:00:24 #1617 [Verbose] > │ UH0_0(11.663733079277343, v0) │
00:00:24 #1618 [Verbose] > │ and closure37 () () : UH0 = │
00:00:24 #1619 [Verbose] > │ let v0 : (unit -> UH0) = closure38() │
00:00:24 #1620 [Verbose] > │ UH0_0(11.663569648675777, v0) │
00:00:24 #1621 [Verbose] > │ and closure36 () () : UH0 = │
00:00:24 #1622 [Verbose] > │ let v0 : (unit -> UH0) = closure37() │
00:00:24 #1623 [Verbose] > │ UH0_0(11.663353203599439, v0) │
00:00:24 #1624 [Verbose] > │ and closure35 () () : UH0 = │
00:00:24 #1625 [Verbose] > │ let v0 : (unit -> UH0) = closure36() │
00:00:24 #1626 [Verbose] > │ UH0_0(11.663066548940721, v0) │
00:00:24 #1627 [Verbose] > │ and closure34 () () : UH0 = │
00:00:24 #1628 [Verbose] > │ let v0 : (unit -> UH0) = closure35() │
00:00:24 #1629 [Verbose] > │ UH0_0(11.662686913915445, v0) │
00:00:24 #1630 [Verbose] > │ and closure33 () () : UH0 = │
00:00:24 #1631 [Verbose] > │ let v0 : (unit -> UH0) = closure34() │
00:00:24 #1632 [Verbose] > │ UH0_0(11.662184145236864, v0) │
00:00:24 #1633 [Verbose] > │ and closure32 () () : UH0 = │
00:00:24 #1634 [Verbose] > │ let v0 : (unit -> UH0) = closure33() │
00:00:24 #1635 [Verbose] > │ UH0_0(11.661518315638029, v0) │
00:00:24 #1636 [Verbose] > │ and closure31 () () : UH0 = │
00:00:24 #1637 [Verbose] > │ let v0 : (unit -> UH0) = closure32() │
00:00:24 #1638 [Verbose] > │ UH0_0(11.66063655920926, v0) │
00:00:24 #1639 [Verbose] > │ and closure30 () () : UH0 = │
00:00:24 #1640 [Verbose] > │ let v0 : (unit -> UH0) = closure31() │
00:00:24 #1641 [Verbose] > │ UH0_0(11.659468884709733, v0) │
00:00:24 #1642 [Verbose] > │ and closure29 () () : UH0 = │
00:00:24 #1643 [Verbose] > │ let v0 : (unit -> UH0) = closure30() │
00:00:24 #1644 [Verbose] > │ UH0_0(11.657922638782631, v0) │
00:00:24 #1645 [Verbose] > │ and closure28 () () : UH0 = │
00:00:24 #1646 [Verbose] > │ let v0 : (unit -> UH0) = closure29() │
00:00:24 #1647 [Verbose] > │ UH0_0(11.655875187195818, v0) │
00:00:24 #1648 [Verbose] > │ and closure27 () () : UH0 = │
00:00:24 #1649 [Verbose] > │ let v0 : (unit -> UH0) = closure28() │
00:00:24 #1650 [Verbose] > │ UH0_0(11.653164246713697, v0) │
00:00:24 #1651 [Verbose] > │ and closure26 () () : UH0 = │
00:00:24 #1652 [Verbose] > │ let v0 : (unit -> UH0) = closure27() │
00:00:24 #1653 [Verbose] > │ UH0_0(11.64957512416459, v0) │
00:00:24 #1654 [Verbose] > │ and closure25 () () : UH0 = │
00:00:24 #1655 [Verbose] > │ let v0 : (unit -> UH0) = closure26() │
00:00:24 #1656 [Verbose] > │ UH0_0(11.644823892116417, v0) │
00:00:24 #1657 [Verbose] > │ and closure24 () () : UH0 = │
00:00:24 #1658 [Verbose] > │ let v0 : (unit -> UH0) = closure25() │
00:00:24 #1659 [Verbose] > │ UH0_0(11.63853524018339, v0) │
00:00:24 #1660 [Verbose] > │ and closure23 () () : UH0 = │
00:00:24 #1661 [Verbose] > │ let v0 : (unit -> UH0) = closure24() │
00:00:24 #1662 [Verbose] > │ UH0_0(11.630213374558416, v0) │
00:00:24 #1663 [Verbose] > │ and closure22 () () : UH0 = │
00:00:24 #1664 [Verbose] > │ let v0 : (unit -> UH0) = closure23() │
00:00:24 #1665 [Verbose] > │ UH0_0(11.619203884549703, v0) │
00:00:24 #1666 [Verbose] > │ and closure21 () () : UH0 = │
00:00:24 #1667 [Verbose] > │ let v0 : (unit -> UH0) = closure22() │
00:00:24 #1668 [Verbose] > │ UH0_0(11.604643948207235, v0) │
00:00:24 #1669 [Verbose] > │ and closure20 () () : UH0 = │
00:00:24 #1670 [Verbose] > │ let v0 : (unit -> UH0) = closure21() │
00:00:24 #1671 [Verbose] > │ UH0_0(11.585397618384544, v0) │
00:00:24 #1672 [Verbose] > │ and closure19 () () : UH0 = │
00:00:24 #1673 [Verbose] > │ let v0 : (unit -> UH0) = closure20() │
00:00:24 #1674 [Verbose] > │ UH0_0(11.559972254267073, v0) │
00:00:24 #1675 [Verbose] > │ and closure18 () () : UH0 = │
00:00:24 #1676 [Verbose] > │ let v0 : (unit -> UH0) = closure19() │
00:00:24 #1677 [Verbose] > │ UH0_0(11.526411536153837, v0) │
00:00:24 #1678 [Verbose] > │ and closure17 () () : UH0 = │
00:00:24 #1679 [Verbose] > │ let v0 : (unit -> UH0) = closure18() │
00:00:24 #1680 [Verbose] > │ UH0_0(11.48216011776808, v0) │
00:00:24 #1681 [Verbose] > │ and closure16 () () : UH0 = │
00:00:24 #1682 [Verbose] > │ let v0 : (unit -> UH0) = closure17() │
00:00:24 #1683 [Verbose] > │ UH0_0(11.42389519391233, v0) │
00:00:24 #1684 [Verbose] > │ and closure15 () () : UH0 = │
00:00:24 #1685 [Verbose] > │ let v0 : (unit -> UH0) = closure16() │
00:00:24 #1686 [Verbose] > │ UH0_0(11.347321723441393, v0) │
00:00:24 #1687 [Verbose] > │ and closure14 () () : UH0 = │
00:00:24 #1688 [Verbose] > │ let v0 : (unit -> UH0) = closure15() │
00:00:24 #1689 [Verbose] > │ UH0_0(11.246931775734161, v0) │
00:00:24 #1690 [Verbose] > │ and closure13 () () : UH0 = │
00:00:24 #1691 [Verbose] > │ let v0 : (unit -> UH0) = closure14() │
00:00:24 #1692 [Verbose] > │ UH0_0(11.115736011467376, v0) │
00:00:24 #1693 [Verbose] > │ and closure12 () () : UH0 = │
00:00:24 #1694 [Verbose] > │ let v0 : (unit -> UH0) = closure13() │
00:00:24 #1695 [Verbose] > │ UH0_0(10.94498876251829, v0) │
00:00:24 #1696 [Verbose] > │ and closure11 () () : UH0 = │
00:00:24 #1697 [Verbose] > │ let v0 : (unit -> UH0) = closure12() │
00:00:24 #1698 [Verbose] > │ UH0_0(10.72394989903564, v0) │
00:00:24 #1699 [Verbose] > │ and closure10 () () : UH0 = │
00:00:24 #1700 [Verbose] > │ let v0 : (unit -> UH0) = closure11() │
00:00:24 #1701 [Verbose] > │ UH0_0(10.439758275369812, v0) │
00:00:24 #1702 [Verbose] > │ and closure9 () () : UH0 = │
00:00:24 #1703 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │
00:00:24 #1704 [Verbose] > │ UH0_0(10.077531599826058, v0) │
00:00:24 #1705 [Verbose] > │ and closure8 () () : UH0 = │
00:00:24 #1706 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │
00:00:24 #1707 [Verbose] > │ UH0_0(9.62084761372258, v0) │
00:00:24 #1708 [Verbose] > │ and closure7 () () : UH0 = │
00:00:24 #1709 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │
00:00:24 #1710 [Verbose] > │ UH0_0(9.052781056066443, v0) │
00:00:24 #1711 [Verbose] > │ and closure6 () () : UH0 = │
00:00:24 #1712 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │
00:00:24 #1713 [Verbose] > │ UH0_0(8.357635347880503, v0) │
00:00:24 #1714 [Verbose] > │ and closure5 () () : UH0 = │
00:00:24 #1715 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │
00:00:24 #1716 [Verbose] > │ UH0_0(7.523376447621674, v0) │
00:00:24 #1717 [Verbose] > │ and closure4 () () : UH0 = │
00:00:24 #1718 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │
00:00:24 #1719 [Verbose] > │ UH0_0(6.544529054818572, v0) │
00:00:24 #1720 [Verbose] > │ and closure3 () () : UH0 = │
00:00:24 #1721 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │
00:00:24 #1722 [Verbose] > │ UH0_0(5.424976512996006, v0) │
00:00:24 #1723 [Verbose] > │ and closure2 () () : UH0 = │
00:00:24 #1724 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │
00:00:24 #1725 [Verbose] > │ UH0_0(4.179852321428571, v0) │
00:00:24 #1726 [Verbose] > │ and closure1 () () : UH0 = │
00:00:24 #1727 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │
00:00:24 #1728 [Verbose] > │ UH0_0(2.835714285714286, v0) │
00:00:25 #1729 [Verbose] > │ and closure0 () () : UH0 = │
00:00:25 #1730 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │
00:00:25 #1731 [Verbose] > │ UH0_0(1.4285714285714286, v0) │
00:00:25 #1732 [Verbose] > │ and method3 (v0 : float, v1 : UH0) : US0 = │
00:00:25 #1733 [Verbose] > │ match v1 with │
00:00:25 #1734 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:25 #1735 [Verbose] > │ let v4 : bool = v0 <= 0.0 │
00:00:25 #1736 [Verbose] > │ if v4 then │
00:00:25 #1737 [Verbose] > │ US0_1(v2) │
00:00:25 #1738 [Verbose] > │ else │
00:00:25 #1739 [Verbose] > │ let v6 : float = v0 - 1.0 │
00:00:25 #1740 [Verbose] > │ let v7 : UH0 = v3 () │
00:00:25 #1741 [Verbose] > │ method3(v6, v7) │
00:00:25 #1742 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:25 #1743 [Verbose] > │ US0_0 │
00:00:25 #1744 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:25 #1745 [Verbose] > │ []) * (float [])) [])) = │
00:00:25 #1746 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (121) │
00:00:25 #1747 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1748 [Verbose] > │ while method1(v1) do │
00:00:25 #1749 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:25 #1750 [Verbose] > │ let v4 : float = float v3 │
00:00:25 #1751 [Verbose] > │ let v5 : float = 0.5 * v4 │
00:00:25 #1752 [Verbose] > │ v0.[int v3] <- v5 │
00:00:25 #1753 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:25 #1754 [Verbose] > │ v1.l0 <- v6 │
00:00:25 #1755 [Verbose] > │ () │
00:00:25 #1756 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:25 #1757 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:25 #1758 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1759 [Verbose] > │ while method2(v7, v9) do │
00:00:25 #1760 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:25 #1761 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:25 #1762 [Verbose] > │ let v13 : float = round v12 │
00:00:25 #1763 [Verbose] > │ let v14 : float = -v13 │
00:00:25 #1764 [Verbose] > │ let v15 : bool = v13 >= v14 │
00:00:25 #1765 [Verbose] > │ let v16 : float = │
00:00:25 #1766 [Verbose] > │ if v15 then │
00:00:25 #1767 [Verbose] > │ v13 │
00:00:25 #1768 [Verbose] > │ else │
00:00:25 #1769 [Verbose] > │ v14 │
00:00:25 #1770 [Verbose] > │ let v17 : float = 0.0 │
00:00:25 #1771 [Verbose] > │ let v18 : (unit -> UH0) = closure0() │
00:00:25 #1772 [Verbose] > │ let v19 : UH0 = UH0_0(v17, v18) │
00:00:25 #1773 [Verbose] > │ let v20 : US0 = method3(v16, v19) │
00:00:25 #1774 [Verbose] > │ let v23 : float = │
00:00:25 #1775 [Verbose] > │ match v20 with │
00:00:25 #1776 [Verbose] > │ | US0_0 -> (* None *) │
00:00:25 #1777 [Verbose] > │ 0.0 │
00:00:25 #1778 [Verbose] > │ | US0_1(v21) -> (* Some *) │
00:00:25 #1779 [Verbose] > │ v21 │
00:00:25 #1780 [Verbose] > │ v8.[int v11] <- v23 │
00:00:25 #1781 [Verbose] > │ let v24 : int32 = v11 + 1 │
00:00:25 #1782 [Verbose] > │ v9.l0 <- v24 │
00:00:25 #1783 [Verbose] > │ () │
00:00:25 #1784 [Verbose] > │ let v25 : string = "velocity of bike (m/s)" │
00:00:25 #1785 [Verbose] > │ let v26 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:25 #1786 [Verbose] > │ (v25, v0, v8)|] │
00:00:25 #1787 [Verbose] > │ let v27 : string = "bike velocity" │
00:00:25 #1788 [Verbose] > │ let v28 : string = "time (s)" │
00:00:25 #1789 [Verbose] > │ let v29 : string = "" │
00:00:25 #1790 [Verbose] > │ struct (v27, v28, v29, v26) │
00:00:25 #1791 [Verbose] > │ method0() │
00:00:25 #1792 [Verbose] > │ │
00:00:25 #1793 [Verbose] > │ │
00:00:25 #1794 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1795 [Verbose] >
00:00:25 #1796 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:25 #1797 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:25 #1798 [Verbose] > │ ## velocity_ftv │
00:00:25 #1799 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1800 [Verbose] >
00:00:25 #1801 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #1802 [Verbose] > inl newton_second_tv m fs (t, v0) =
00:00:25 #1803 [Verbose] > inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum
00:00:25 #1804 [Verbose] > inl acc = f_net / m
00:00:25 #1805 [Verbose] > 1, acc
00:00:25 #1806 [Verbose] >
00:00:25 #1807 [Verbose] > inl update_tv dt m fs (t, v0) =
00:00:25 #1808 [Verbose] > inl dtdt, dvdt = newton_second_tv m fs (t, v0)
00:00:25 #1809 [Verbose] > t + dtdt * dt, v0 + dvdt * dt
00:00:25 #1810 [Verbose] >
00:00:25 #1811 [Verbose] > inl velocity_ftv dt m tv0 fs t =
00:00:25 #1812 [Verbose] > stream.iterate (join update_tv dt m fs) tv0
00:00:25 #1813 [Verbose] > |> stream.try_item (t / dt |> math.round |> abs)
00:00:25 #1814 [Verbose] > |> optionm.map snd
00:00:25 #1815 [Verbose] > |> optionm'.default_value 0
00:00:25 #1816 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0663-6369-623974f94aee\main.spi
00:00:25 #1817 [Verbose] >
00:00:25 #1818 [Verbose] > ╭─[ 199.05ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #1819 [Verbose] > │ () │
00:00:25 #1820 [Verbose] > │ │
00:00:25 #1821 [Verbose] > │ │
00:00:25 #1822 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1823 [Verbose] >
00:00:25 #1824 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #1825 [Verbose] > // // test
00:00:25 #1826 [Verbose] >
00:00:25 #1827 [Verbose] > inl x = am'.init_series 0 100 0.1
00:00:25 #1828 [Verbose] > inl y =
00:00:25 #1829 [Verbose] > x
00:00:25 #1830 [Verbose] > |> am.map (
00:00:25 #1831 [Verbose] > velocity_ftv 0.1 20 (dyn (0, 0)) [[ fun (t, _) => pedal_coast t; fun (_,
00:00:25 #1832 [Verbose] > v) => f_air 2 1.225 0.5 v ]]
00:00:25 #1833 [Verbose] > )
00:00:25 #1834 [Verbose] > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)",
00:00:25 #1835 [Verbose] > x, y ]]
00:00:25 #1836 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0683-8361-8f3c3350794a\main.spi
00:00:25 #1837 [Verbose] >
00:00:25 #1838 [Verbose] > ╭─[ 425.97ms - return value ]──────────────────────────────────────────────────╮
00:00:25 #1839 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:25 #1840 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:25 #1841 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:25 #1842 [Verbose] > │ stroke="none"/> │
00:00:25 #1843 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:25 #1844 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:25 #1845 [Verbose] > │ fill="#FFFFFF"> │
00:00:25 #1846 [Verbose] > │ pedaling and coasting with air │
00:00:25 #1847 [Verbose] > │ </text> │
00:00:25 #1848 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:25 #1849 [Verbose] > │ y2="75"/> │
00:00:25 #1850 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:25 #1851 [Verbose] > │ y2="75"/> │
00:00:25 #1852 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:25 #1853 [Verbose] > │ y2="75"/> │
00:00:25 #1854 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:25 #1855 [Verbose] > │ y2="75"/> │
00:00:25 #1856 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x... │
00:00:25 #1857 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1858 [Verbose] >
00:00:25 #1859 [Verbose] > ╭─[ 436.76ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #1860 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:25 #1861 [Verbose] > │ and UH0 = │
00:00:25 #1862 [Verbose] > │ | UH0_0 of float * float * (unit -> UH0) │
00:00:25 #1863 [Verbose] > │ | UH0_1 │
00:00:25 #1864 [Verbose] > │ and [<Struct>] US0 = │
00:00:25 #1865 [Verbose] > │ | US0_0 │
00:00:25 #1866 [Verbose] > │ | US0_1 of f1_0 : float * f1_1 : float │
00:00:25 #1867 [Verbose] > │ and [<Struct>] US1 = │
00:00:25 #1868 [Verbose] > │ | US1_0 │
00:00:25 #1869 [Verbose] > │ | US1_1 of f1_0 : float │
00:00:25 #1870 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:25 #1871 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:25 #1872 [Verbose] > │ let v2 : bool = v1 < 1001 │
00:00:25 #1873 [Verbose] > │ v2 │
00:00:25 #1874 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:25 #1875 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:25 #1876 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:25 #1877 [Verbose] > │ v3 │
00:00:25 #1878 [Verbose] > │ and closure0 () struct (v0 : float, v1 : float) : struct (float * float) = │
00:00:25 #1879 [Verbose] > │ let v2 : float = -v1 │
00:00:25 #1880 [Verbose] > │ let v3 : bool = v1 >= v2 │
00:00:25 #1881 [Verbose] > │ let v4 : float = │
00:00:25 #1882 [Verbose] > │ if v3 then │
00:00:25 #1883 [Verbose] > │ v1 │
00:00:25 #1884 [Verbose] > │ else │
00:00:25 #1885 [Verbose] > │ v2 │
00:00:25 #1886 [Verbose] > │ let v5 : float = -1.225 * v4 │
00:00:25 #1887 [Verbose] > │ let v6 : float = v5 * v1 │
00:00:25 #1888 [Verbose] > │ let v7 : float = v6 / 2.0 │
00:00:25 #1889 [Verbose] > │ let v8 : float = v0 / 20.0 │
00:00:25 #1890 [Verbose] > │ let v9 : int32 = int32 v8 │
00:00:25 #1891 [Verbose] > │ let v10 : float = float v9 │
00:00:25 #1892 [Verbose] > │ let v11 : float = v10 * 20.0 │
00:00:25 #1893 [Verbose] > │ let v12 : float = v0 - v11 │
00:00:25 #1894 [Verbose] > │ let v13 : bool = v12 > 0.0 │
00:00:25 #1895 [Verbose] > │ let v15 : bool = │
00:00:25 #1896 [Verbose] > │ if v13 then │
00:00:25 #1897 [Verbose] > │ let v14 : bool = v12 < 10.0 │
00:00:25 #1898 [Verbose] > │ v14 │
00:00:25 #1899 [Verbose] > │ else │
00:00:25 #1900 [Verbose] > │ false │
00:00:25 #1901 [Verbose] > │ let v16 : float = │
00:00:25 #1902 [Verbose] > │ if v15 then │
00:00:25 #1903 [Verbose] > │ 10.0 │
00:00:25 #1904 [Verbose] > │ else │
00:00:25 #1905 [Verbose] > │ 0.0 │
00:00:25 #1906 [Verbose] > │ let v17 : float = v16 + v7 │
00:00:25 #1907 [Verbose] > │ let v18 : float = v17 / 20.0 │
00:00:25 #1908 [Verbose] > │ let v19 : float = v0 + 0.1 │
00:00:25 #1909 [Verbose] > │ let v20 : float = v18 * 0.1 │
00:00:25 #1910 [Verbose] > │ let v21 : float = v1 + v20 │
00:00:25 #1911 [Verbose] > │ struct (v19, v21) │
00:00:25 #1912 [Verbose] > │ and method3 () : (struct (float * float) -> struct (float * float)) = │
00:00:25 #1913 [Verbose] > │ closure0() │
00:00:25 #1914 [Verbose] > │ and closure1 (v0 : (struct (float * float) -> struct (float * float)), v1 : │
00:00:25 #1915 [Verbose] > │ float, v2 : float, v3 : float, v4 : float) () : UH0 = │
00:00:25 #1916 [Verbose] > │ let struct (v5 : float, v6 : float) = v0 struct (v3, v4) │
00:00:25 #1917 [Verbose] > │ let v7 : (unit -> UH0) = closure1(v0, v1, v2, v5, v6) │
00:00:25 #1918 [Verbose] > │ UH0_0(v3, v4, v7) │
00:00:25 #1919 [Verbose] > │ and method4 (v0 : float, v1 : UH0) : US0 = │
00:00:25 #1920 [Verbose] > │ match v1 with │
00:00:25 #1921 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* StreamCons *) │
00:00:25 #1922 [Verbose] > │ let v5 : bool = v0 <= 0.0 │
00:00:25 #1923 [Verbose] > │ if v5 then │
00:00:25 #1924 [Verbose] > │ US0_1(v2, v3) │
00:00:25 #1925 [Verbose] > │ else │
00:00:25 #1926 [Verbose] > │ let v7 : float = v0 - 1.0 │
00:00:25 #1927 [Verbose] > │ let v8 : UH0 = v4 () │
00:00:25 #1928 [Verbose] > │ method4(v7, v8) │
00:00:25 #1929 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:25 #1930 [Verbose] > │ US0_0 │
00:00:25 #1931 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:25 #1932 [Verbose] > │ []) * (float [])) [])) = │
00:00:25 #1933 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (1001) │
00:00:25 #1934 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1935 [Verbose] > │ while method1(v1) do │
00:00:25 #1936 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:25 #1937 [Verbose] > │ let v4 : float = float v3 │
00:00:25 #1938 [Verbose] > │ let v5 : float = 0.1 * v4 │
00:00:25 #1939 [Verbose] > │ v0.[int v3] <- v5 │
00:00:25 #1940 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:25 #1941 [Verbose] > │ v1.l0 <- v6 │
00:00:25 #1942 [Verbose] > │ () │
00:00:25 #1943 [Verbose] > │ let v7 : float = 0.0 │
00:00:25 #1944 [Verbose] > │ let v8 : float = 0.0 │
00:00:25 #1945 [Verbose] > │ let v9 : int32 = v0.Length │
00:00:25 #1946 [Verbose] > │ let v10 : (float []) = Array.zeroCreate<float> (v9) │
00:00:25 #1947 [Verbose] > │ let v11 : Mut0 = {l0 = 0} : Mut0 │
00:00:25 #1948 [Verbose] > │ while method2(v9, v11) do │
00:00:25 #1949 [Verbose] > │ let v13 : int32 = v11.l0 │
00:00:25 #1950 [Verbose] > │ let v14 : float = v0.[int v13] │
00:00:25 #1951 [Verbose] > │ let v15 : (struct (float * float) -> struct (float * float)) = │
00:00:25 #1952 [Verbose] > │ method3() │
00:00:25 #1953 [Verbose] > │ let struct (v16 : float, v17 : float) = v15 struct (v7, v8) │
00:00:25 #1954 [Verbose] > │ let v18 : float = v14 / 0.1 │
00:00:25 #1955 [Verbose] > │ let v19 : float = round v18 │
00:00:25 #1956 [Verbose] > │ let v20 : float = -v19 │
00:00:25 #1957 [Verbose] > │ let v21 : bool = v19 >= v20 │
00:00:25 #1958 [Verbose] > │ let v22 : float = │
00:00:25 #1959 [Verbose] > │ if v21 then │
00:00:25 #1960 [Verbose] > │ v19 │
00:00:25 #1961 [Verbose] > │ else │
00:00:25 #1962 [Verbose] > │ v20 │
00:00:25 #1963 [Verbose] > │ let v23 : (unit -> UH0) = closure1(v15, v7, v8, v16, v17) │
00:00:25 #1964 [Verbose] > │ let v24 : UH0 = UH0_0(v7, v8, v23) │
00:00:25 #1965 [Verbose] > │ let v25 : US0 = method4(v22, v24) │
00:00:25 #1966 [Verbose] > │ let v31 : US1 = │
00:00:25 #1967 [Verbose] > │ match v25 with │
00:00:25 #1968 [Verbose] > │ | US0_0 -> (* None *) │
00:00:25 #1969 [Verbose] > │ US1_0 │
00:00:25 #1970 [Verbose] > │ | US0_1(v26, v27) -> (* Some *) │
00:00:25 #1971 [Verbose] > │ US1_1(v27) │
00:00:25 #1972 [Verbose] > │ let v34 : float = │
00:00:25 #1973 [Verbose] > │ match v31 with │
00:00:25 #1974 [Verbose] > │ | US1_0 -> (* None *) │
00:00:25 #1975 [Verbose] > │ 0.0 │
00:00:25 #1976 [Verbose] > │ | US1_1(v32) -> (* Some *) │
00:00:25 #1977 [Verbose] > │ v32 │
00:00:25 #1978 [Verbose] > │ v10.[int v13] <- v34 │
00:00:25 #1979 [Verbose] > │ let v35 : int32 = v13 + 1 │
00:00:25 #1980 [Verbose] > │ v11.l0 <- v35 │
00:00:25 #1981 [Verbose] > │ () │
00:00:25 #1982 [Verbose] > │ let v36 : string = "velocity of bike (m/s)" │
00:00:25 #1983 [Verbose] > │ let v37 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:25 #1984 [Verbose] > │ (v36, v0, v10)|] │
00:00:25 #1985 [Verbose] > │ let v38 : string = "pedaling and coasting with air" │
00:00:25 #1986 [Verbose] > │ let v39 : string = "time (s)" │
00:00:25 #1987 [Verbose] > │ let v40 : string = "" │
00:00:25 #1988 [Verbose] > │ struct (v38, v39, v40, v37) │
00:00:25 #1989 [Verbose] > │ method0() │
00:00:25 #1990 [Verbose] > │ │
00:00:25 #1991 [Verbose] > │ │
00:00:25 #1992 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1993 [Verbose] >
00:00:25 #1994 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:25 #1995 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:25 #1996 [Verbose] > │ ## velocity_ftxv │
00:00:25 #1997 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #1998 [Verbose] >
00:00:25 #1999 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #2000 [Verbose] > nominal state_1d = time * position * velocity
00:00:25 #2001 [Verbose] > nominal rrr = f64 * f64 * f64
00:00:25 #2002 [Verbose] >
00:00:25 #2003 [Verbose] > inl newton_second_1d m fs (state_1d (t, x0, v0)) =
00:00:25 #2004 [Verbose] > inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |>
00:00:25 #2005 [Verbose] > listm'.sum
00:00:25 #2006 [Verbose] > inl acc = f_net / m
00:00:25 #2007 [Verbose] > rrr (1f64, v0, acc)
00:00:25 #2008 [Verbose] >
00:00:25 #2009 [Verbose] > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:00:25 #2010 [Verbose] > inl (rrr (_, _, dvdt)) = deriv t
00:00:25 #2011 [Verbose] > inl t1 = t0 + dt
00:00:25 #2012 [Verbose] > inl x1 = x0 + v0 * dt
00:00:25 #2013 [Verbose] > inl v1 = v0 + dvdt * dt
00:00:25 #2014 [Verbose] > state_1d (t1, x1, v1)
00:00:25 #2015 [Verbose] >
00:00:25 #2016 [Verbose] > inl update_txv dt m fs =
00:00:25 #2017 [Verbose] > newton_second_1d m fs |> euler_1d dt
00:00:25 #2018 [Verbose] >
00:00:25 #2019 [Verbose] > inl states_txv dt m txv0 fs =
00:00:25 #2020 [Verbose] > seq.iterate_ (update_txv dt m fs) txv0
00:00:25 #2021 [Verbose] >
00:00:25 #2022 [Verbose] > inl velocity_1d sts t =
00:00:25 #2023 [Verbose] > inl (state_1d (t0, _, _)) = sts 0
00:00:25 #2024 [Verbose] > inl (state_1d (t1, _, _)) = sts 1
00:00:25 #2025 [Verbose] > inl dt = t1 - t0
00:00:25 #2026 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:25 #2027 [Verbose] > inl (state_1d (_, _, v0)) = sts num_steps
00:00:25 #2028 [Verbose] > v0
00:00:25 #2029 [Verbose] >
00:00:25 #2030 [Verbose] > inl velocity_ftxv dt m txv0 fs =
00:00:25 #2031 [Verbose] > states_txv dt m txv0 fs |> velocity_1d
00:00:25 #2032 [Verbose] >
00:00:25 #2033 [Verbose] > inl position_1d sts t =
00:00:25 #2034 [Verbose] > inl (state_1d (t0, _, _)) = sts 0
00:00:25 #2035 [Verbose] > inl (state_1d (t1, _, _)) = sts 1
00:00:25 #2036 [Verbose] > inl dt = t1 - t0
00:00:25 #2037 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:25 #2038 [Verbose] > inl (state_1d (_, x0, _)) = sts num_steps
00:00:25 #2039 [Verbose] > x0
00:00:25 #2040 [Verbose] >
00:00:25 #2041 [Verbose] > inl position_ftxv dt m txv0 fs =
00:00:25 #2042 [Verbose] > states_txv dt m txv0 fs |> position_1d
00:00:25 #2043 [Verbose] >
00:00:25 #2044 [Verbose] > inl spring_force k (state_1d (_, x0, _)) =
00:00:25 #2045 [Verbose] > -k * x0
00:00:25 #2046 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0733-3313-3786f9289299\main.spi
00:00:25 #2047 [Verbose] >
00:00:25 #2048 [Verbose] > ╭─[ 185.03ms - stdout ]────────────────────────────────────────────────────────╮
00:00:25 #2049 [Verbose] > │ () │
00:00:25 #2050 [Verbose] > │ │
00:00:25 #2051 [Verbose] > │ │
00:00:25 #2052 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:25 #2053 [Verbose] >
00:00:25 #2054 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:25 #2055 [Verbose] > // // test
00:00:25 #2056 [Verbose] >
00:00:25 #2057 [Verbose] > inl damped_ho_forces () =
00:00:25 #2058 [Verbose] > [[
00:00:25 #2059 [Verbose] > spring_force 0.8
00:00:25 #2060 [Verbose] > fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0
00:00:25 #2061 [Verbose] > fun _ => -0.0027 * 9.80665
00:00:25 #2062 [Verbose] > ]]
00:00:25 #2063 [Verbose] >
00:00:25 #2064 [Verbose] > inl damped_ho_states () =
00:00:25 #2065 [Verbose] > states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ())
00:00:25 #2066 [Verbose] >
00:00:25 #2067 [Verbose] > inl pingpong_position t =
00:00:25 #2068 [Verbose] > position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:00:25 #2069 [Verbose] >
00:00:25 #2070 [Verbose] > inl x : a _ f64 = am'.init_series 0 3 0.01
00:00:25 #2071 [Verbose] > inl y = x |> am.map pingpong_position
00:00:25 #2072 [Verbose] > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]]
00:00:26 #2073 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0751-5171-5dfa4763392f\main.spi
00:00:26 #2074 [Verbose] >
00:00:26 #2075 [Verbose] > ╭─[ 295.22ms - return value ]──────────────────────────────────────────────────╮
00:00:26 #2076 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:26 #2077 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:26 #2078 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:26 #2079 [Verbose] > │ stroke="none"/> │
00:00:26 #2080 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:26 #2081 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:26 #2082 [Verbose] > │ fill="#FFFFFF"> │
00:00:26 #2083 [Verbose] > │ ping pong ball on a slinky │
00:00:26 #2084 [Verbose] > │ </text> │
00:00:26 #2085 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:26 #2086 [Verbose] > │ y2="75"/> │
00:00:26 #2087 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:26 #2088 [Verbose] > │ y2="75"/> │
00:00:26 #2089 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:26 #2090 [Verbose] > │ y2="75"/> │
00:00:26 #2091 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:26 #2092 [Verbose] > │ y2="75"/> │
00:00:26 #2093 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="9... │
00:00:26 #2094 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2095 [Verbose] >
00:00:26 #2096 [Verbose] > ╭─[ 304.59ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2097 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:26 #2098 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:26 #2099 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:26 #2100 [Verbose] > │ let v2 : bool = v1 < 301 │
00:00:26 #2101 [Verbose] > │ v2 │
00:00:26 #2102 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:26 #2103 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:26 #2104 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:26 #2105 [Verbose] > │ v3 │
00:00:26 #2106 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
00:00:26 #2107 [Verbose] > │ * float * float) = │
00:00:26 #2108 [Verbose] > │ let v4 : bool = v3 <= 0.0 │
00:00:26 #2109 [Verbose] > │ if v4 then │
00:00:26 #2110 [Verbose] > │ struct (v0, v1, v2) │
00:00:26 #2111 [Verbose] > │ else │
00:00:26 #2112 [Verbose] > │ let v5 : float = -v2 │
00:00:26 #2113 [Verbose] > │ let v6 : bool = v2 >= v5 │
00:00:26 #2114 [Verbose] > │ let v7 : float = │
00:00:26 #2115 [Verbose] > │ if v6 then │
00:00:26 #2116 [Verbose] > │ v2 │
00:00:26 #2117 [Verbose] > │ else │
00:00:26 #2118 [Verbose] > │ v5 │
00:00:26 #2119 [Verbose] > │ let v8 : float = -0.0030787608005179976 * v7 │
00:00:26 #2120 [Verbose] > │ let v9 : float = v8 * v2 │
00:00:26 #2121 [Verbose] > │ let v10 : float = v9 / 2.0 │
00:00:26 #2122 [Verbose] > │ let v11 : float = -0.8 * v1 │
00:00:26 #2123 [Verbose] > │ let v12 : float = v11 + v10 │
00:00:26 #2124 [Verbose] > │ let v13 : float = v12 + -0.026477955 │
00:00:26 #2125 [Verbose] > │ let v14 : float = v13 / 0.0027 │
00:00:26 #2126 [Verbose] > │ let v15 : float = v0 + 0.001 │
00:00:26 #2127 [Verbose] > │ let v16 : float = v2 * 0.001 │
00:00:26 #2128 [Verbose] > │ let v17 : float = v1 + v16 │
00:00:26 #2129 [Verbose] > │ let v18 : float = v14 * 0.001 │
00:00:26 #2130 [Verbose] > │ let v19 : float = v2 + v18 │
00:00:26 #2131 [Verbose] > │ let v20 : float = v3 - 1.0 │
00:00:26 #2132 [Verbose] > │ method3(v15, v17, v19, v20) │
00:00:26 #2133 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:26 #2134 [Verbose] > │ []) * (float [])) [])) = │
00:00:26 #2135 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
00:00:26 #2136 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2137 [Verbose] > │ while method1(v1) do │
00:00:26 #2138 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:26 #2139 [Verbose] > │ let v4 : float = float v3 │
00:00:26 #2140 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:26 #2141 [Verbose] > │ v0.[int v3] <- v5 │
00:00:26 #2142 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:26 #2143 [Verbose] > │ v1.l0 <- v6 │
00:00:26 #2144 [Verbose] > │ () │
00:00:26 #2145 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:26 #2146 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:26 #2147 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2148 [Verbose] > │ while method2(v7, v9) do │
00:00:26 #2149 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:26 #2150 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:26 #2151 [Verbose] > │ let v13 : float = 0.0 │
00:00:26 #2152 [Verbose] > │ let v14 : float = 0.1 │
00:00:26 #2153 [Verbose] > │ let v15 : float = 0.0 │
00:00:26 #2154 [Verbose] > │ let v16 : float = 0.0 │
00:00:26 #2155 [Verbose] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
00:00:26 #2156 [Verbose] > │ v14, v15, v16) │
00:00:26 #2157 [Verbose] > │ let v20 : float = 0.0 │
00:00:26 #2158 [Verbose] > │ let v21 : float = 0.1 │
00:00:26 #2159 [Verbose] > │ let v22 : float = 0.0 │
00:00:26 #2160 [Verbose] > │ let v23 : float = 1.0 │
00:00:26 #2161 [Verbose] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
00:00:26 #2162 [Verbose] > │ v21, v22, v23) │
00:00:26 #2163 [Verbose] > │ let v27 : float = v24 - v17 │
00:00:26 #2164 [Verbose] > │ let v28 : float = v12 / v27 │
00:00:26 #2165 [Verbose] > │ let v29 : float = round v28 │
00:00:26 #2166 [Verbose] > │ let v30 : float = -v29 │
00:00:26 #2167 [Verbose] > │ let v31 : bool = v29 >= v30 │
00:00:26 #2168 [Verbose] > │ let v32 : float = │
00:00:26 #2169 [Verbose] > │ if v31 then │
00:00:26 #2170 [Verbose] > │ v29 │
00:00:26 #2171 [Verbose] > │ else │
00:00:26 #2172 [Verbose] > │ v30 │
00:00:26 #2173 [Verbose] > │ let v33 : float = 0.0 │
00:00:26 #2174 [Verbose] > │ let v34 : float = 0.1 │
00:00:26 #2175 [Verbose] > │ let v35 : float = 0.0 │
00:00:26 #2176 [Verbose] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
00:00:26 #2177 [Verbose] > │ v34, v35, v32) │
00:00:26 #2178 [Verbose] > │ v8.[int v11] <- v37 │
00:00:26 #2179 [Verbose] > │ let v39 : int32 = v11 + 1 │
00:00:26 #2180 [Verbose] > │ v9.l0 <- v39 │
00:00:26 #2181 [Verbose] > │ () │
00:00:26 #2182 [Verbose] > │ let v40 : string = "position (m)" │
00:00:26 #2183 [Verbose] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:26 #2184 [Verbose] > │ (v40, v0, v8)|] │
00:00:26 #2185 [Verbose] > │ let v42 : string = "ping pong ball on a slinky" │
00:00:26 #2186 [Verbose] > │ let v43 : string = "time (s)" │
00:00:26 #2187 [Verbose] > │ let v44 : string = "" │
00:00:26 #2188 [Verbose] > │ struct (v42, v43, v44, v41) │
00:00:26 #2189 [Verbose] > │ method0() │
00:00:26 #2190 [Verbose] > │ │
00:00:26 #2191 [Verbose] > │ │
00:00:26 #2192 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2193 [Verbose] >
00:00:26 #2194 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2195 [Verbose] > // // test
00:00:26 #2196 [Verbose] >
00:00:26 #2197 [Verbose] > inl pingpong_velocity t =
00:00:26 #2198 [Verbose] > velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:00:26 #2199 [Verbose] >
00:00:26 #2200 [Verbose] > inl x = am'.init_series 0 3 0.01
00:00:26 #2201 [Verbose] > inl y = x |> am.map pingpong_velocity
00:00:26 #2202 [Verbose] > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]]
00:00:26 #2203 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0786-8633-8e8a019487c8\main.spi
00:00:26 #2204 [Verbose] >
00:00:26 #2205 [Verbose] > ╭─[ 251.55ms - return value ]──────────────────────────────────────────────────╮
00:00:26 #2206 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:26 #2207 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:26 #2208 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:26 #2209 [Verbose] > │ stroke="none"/> │
00:00:26 #2210 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:26 #2211 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:26 #2212 [Verbose] > │ fill="#FFFFFF"> │
00:00:26 #2213 [Verbose] > │ ping pong ball on a slinky │
00:00:26 #2214 [Verbose] > │ </text> │
00:00:26 #2215 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:00:26 #2216 [Verbose] > │ y2="75"/> │
00:00:26 #2217 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:26 #2218 [Verbose] > │ y2="75"/> │
00:00:26 #2219 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:00:26 #2220 [Verbose] > │ y2="75"/> │
00:00:26 #2221 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:00:26 #2222 [Verbose] > │ y2="75"/> │
00:00:26 #2223 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="9... │
00:00:26 #2224 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2225 [Verbose] >
00:00:26 #2226 [Verbose] > ╭─[ 260.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2227 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:26 #2228 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:26 #2229 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:26 #2230 [Verbose] > │ let v2 : bool = v1 < 301 │
00:00:26 #2231 [Verbose] > │ v2 │
00:00:26 #2232 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:26 #2233 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:26 #2234 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:26 #2235 [Verbose] > │ v3 │
00:00:26 #2236 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
00:00:26 #2237 [Verbose] > │ * float * float) = │
00:00:26 #2238 [Verbose] > │ let v4 : bool = v3 <= 0.0 │
00:00:26 #2239 [Verbose] > │ if v4 then │
00:00:26 #2240 [Verbose] > │ struct (v0, v1, v2) │
00:00:26 #2241 [Verbose] > │ else │
00:00:26 #2242 [Verbose] > │ let v5 : float = -v2 │
00:00:26 #2243 [Verbose] > │ let v6 : bool = v2 >= v5 │
00:00:26 #2244 [Verbose] > │ let v7 : float = │
00:00:26 #2245 [Verbose] > │ if v6 then │
00:00:26 #2246 [Verbose] > │ v2 │
00:00:26 #2247 [Verbose] > │ else │
00:00:26 #2248 [Verbose] > │ v5 │
00:00:26 #2249 [Verbose] > │ let v8 : float = -0.0030787608005179976 * v7 │
00:00:26 #2250 [Verbose] > │ let v9 : float = v8 * v2 │
00:00:26 #2251 [Verbose] > │ let v10 : float = v9 / 2.0 │
00:00:26 #2252 [Verbose] > │ let v11 : float = -0.8 * v1 │
00:00:26 #2253 [Verbose] > │ let v12 : float = v11 + v10 │
00:00:26 #2254 [Verbose] > │ let v13 : float = v12 + -0.026477955 │
00:00:26 #2255 [Verbose] > │ let v14 : float = v13 / 0.0027 │
00:00:26 #2256 [Verbose] > │ let v15 : float = v0 + 0.001 │
00:00:26 #2257 [Verbose] > │ let v16 : float = v2 * 0.001 │
00:00:26 #2258 [Verbose] > │ let v17 : float = v1 + v16 │
00:00:26 #2259 [Verbose] > │ let v18 : float = v14 * 0.001 │
00:00:26 #2260 [Verbose] > │ let v19 : float = v2 + v18 │
00:00:26 #2261 [Verbose] > │ let v20 : float = v3 - 1.0 │
00:00:26 #2262 [Verbose] > │ method3(v15, v17, v19, v20) │
00:00:26 #2263 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:26 #2264 [Verbose] > │ []) * (float [])) [])) = │
00:00:26 #2265 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
00:00:26 #2266 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2267 [Verbose] > │ while method1(v1) do │
00:00:26 #2268 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:26 #2269 [Verbose] > │ let v4 : float = float v3 │
00:00:26 #2270 [Verbose] > │ let v5 : float = 0.01 * v4 │
00:00:26 #2271 [Verbose] > │ v0.[int v3] <- v5 │
00:00:26 #2272 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:26 #2273 [Verbose] > │ v1.l0 <- v6 │
00:00:26 #2274 [Verbose] > │ () │
00:00:26 #2275 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:26 #2276 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:26 #2277 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:26 #2278 [Verbose] > │ while method2(v7, v9) do │
00:00:26 #2279 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:26 #2280 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:26 #2281 [Verbose] > │ let v13 : float = 0.0 │
00:00:26 #2282 [Verbose] > │ let v14 : float = 0.1 │
00:00:26 #2283 [Verbose] > │ let v15 : float = 0.0 │
00:00:26 #2284 [Verbose] > │ let v16 : float = 0.0 │
00:00:26 #2285 [Verbose] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
00:00:26 #2286 [Verbose] > │ v14, v15, v16) │
00:00:26 #2287 [Verbose] > │ let v20 : float = 0.0 │
00:00:26 #2288 [Verbose] > │ let v21 : float = 0.1 │
00:00:26 #2289 [Verbose] > │ let v22 : float = 0.0 │
00:00:26 #2290 [Verbose] > │ let v23 : float = 1.0 │
00:00:26 #2291 [Verbose] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
00:00:26 #2292 [Verbose] > │ v21, v22, v23) │
00:00:26 #2293 [Verbose] > │ let v27 : float = v24 - v17 │
00:00:26 #2294 [Verbose] > │ let v28 : float = v12 / v27 │
00:00:26 #2295 [Verbose] > │ let v29 : float = round v28 │
00:00:26 #2296 [Verbose] > │ let v30 : float = -v29 │
00:00:26 #2297 [Verbose] > │ let v31 : bool = v29 >= v30 │
00:00:26 #2298 [Verbose] > │ let v32 : float = │
00:00:26 #2299 [Verbose] > │ if v31 then │
00:00:26 #2300 [Verbose] > │ v29 │
00:00:26 #2301 [Verbose] > │ else │
00:00:26 #2302 [Verbose] > │ v30 │
00:00:26 #2303 [Verbose] > │ let v33 : float = 0.0 │
00:00:26 #2304 [Verbose] > │ let v34 : float = 0.1 │
00:00:26 #2305 [Verbose] > │ let v35 : float = 0.0 │
00:00:26 #2306 [Verbose] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
00:00:26 #2307 [Verbose] > │ v34, v35, v32) │
00:00:26 #2308 [Verbose] > │ v8.[int v11] <- v38 │
00:00:26 #2309 [Verbose] > │ let v39 : int32 = v11 + 1 │
00:00:26 #2310 [Verbose] > │ v9.l0 <- v39 │
00:00:26 #2311 [Verbose] > │ () │
00:00:26 #2312 [Verbose] > │ let v40 : string = "velocity (m/s)" │
00:00:26 #2313 [Verbose] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:26 #2314 [Verbose] > │ (v40, v0, v8)|] │
00:00:26 #2315 [Verbose] > │ let v42 : string = "ping pong ball on a slinky" │
00:00:26 #2316 [Verbose] > │ let v43 : string = "time (s)" │
00:00:26 #2317 [Verbose] > │ let v44 : string = "" │
00:00:26 #2318 [Verbose] > │ struct (v42, v43, v44, v41) │
00:00:26 #2319 [Verbose] > │ method0() │
00:00:26 #2320 [Verbose] > │ │
00:00:26 #2321 [Verbose] > │ │
00:00:26 #2322 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2323 [Verbose] >
00:00:26 #2324 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:26 #2325 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:26 #2326 [Verbose] > │ ## shift │
00:00:26 #2327 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2328 [Verbose] >
00:00:26 #2329 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2330 [Verbose] > type update_function s = s -> s
00:00:26 #2331 [Verbose] >
00:00:26 #2332 [Verbose] > type differential_equation s ds = s -> ds
00:00:26 #2333 [Verbose] >
00:00:26 #2334 [Verbose] > type numerical_method s ds = differential_equation s ds -> update_function s
00:00:26 #2335 [Verbose] >
00:00:26 #2336 [Verbose] >
00:00:26 #2337 [Verbose] > inl solver method =
00:00:26 #2338 [Verbose] > method >> seq.iterate
00:00:26 #2339 [Verbose] > inl solver' method =
00:00:26 #2340 [Verbose] > method >> seq.iterate'
00:00:26 #2341 [Verbose] > inl solver_ method =
00:00:26 #2342 [Verbose] > method >> seq.iterate_
00:00:26 #2343 [Verbose] >
00:00:26 #2344 [Verbose] >
00:00:26 #2345 [Verbose] > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:00:26 #2346 [Verbose] > inl (rrr (_, _, dvdt)) = deriv t
00:00:26 #2347 [Verbose] > inl t1 = t0 + dt
00:00:26 #2348 [Verbose] > inl v1 = v0 + dvdt * dt
00:00:26 #2349 [Verbose] > inl x1 = x0 + v1 * dt
00:00:26 #2350 [Verbose] > state_1d (t1, x1, v1)
00:00:26 #2351 [Verbose] >
00:00:26 #2352 [Verbose] > inl update_txv_ec dt m fs =
00:00:26 #2353 [Verbose] > euler_cromer_1d dt (newton_second_1d m fs)
00:00:26 #2354 [Verbose] >
00:00:26 #2355 [Verbose] > prototype (+++) ds : ds -> ds -> ds
00:00:26 #2356 [Verbose] > prototype scale ds : f64 -> ds -> ds
00:00:26 #2357 [Verbose] >
00:00:26 #2358 [Verbose] > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1))
00:00:26 #2359 [Verbose] > =>
00:00:26 #2360 [Verbose] > rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1)
00:00:26 #2361 [Verbose] >
00:00:26 #2362 [Verbose] > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) =>
00:00:26 #2363 [Verbose] > rrr (w * dtdt0, w * dxdt0, w * dvdt0)
00:00:26 #2364 [Verbose] >
00:00:26 #2365 [Verbose] > prototype shift s : forall ds. f64 -> ds -> s -> s
00:00:26 #2366 [Verbose] >
00:00:26 #2367 [Verbose] > instance shift state_1d = fun dt ds (state_1d (t, x, v)) =>
00:00:26 #2368 [Verbose] > inl dtdt, dxdt, dvdt =
00:00:26 #2369 [Verbose] > real
00:00:26 #2370 [Verbose] > match ds with
00:00:26 #2371 [Verbose] > | rrr x => x
00:00:26 #2372 [Verbose] > | state_1d x => x
00:00:26 #2373 [Verbose] > state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt)
00:00:26 #2374 [Verbose] >
00:00:26 #2375 [Verbose] > inl euler dt deriv st0 =
00:00:26 #2376 [Verbose] > shift dt (deriv st0) st0
00:00:26 #2377 [Verbose] >
00:00:26 #2378 [Verbose] > inl runge_kutta_4 dt deriv st0 =
00:00:26 #2379 [Verbose] > inl m0 = deriv st0
00:00:26 #2380 [Verbose] > inl m1 = deriv (shift (dt / 2) m0 st0)
00:00:26 #2381 [Verbose] > inl m2 = deriv (shift (dt / 2) m1 st0)
00:00:26 #2382 [Verbose] > inl m3 = deriv (shift dt m2 st0)
00:00:26 #2383 [Verbose] > shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0
00:00:26 #2384 [Verbose] >
00:00:26 #2385 [Verbose] > inl exponential (_, x0, v0) =
00:00:26 #2386 [Verbose] > 1f64, v0, x0
00:00:26 #2387 [Verbose] >
00:00:26 #2388 [Verbose] > inl of_state_1d (state_1d (t, x, v)) =
00:00:26 #2389 [Verbose] > t, x, v
00:00:26 #2390 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0816-1623-1c0863da9932\main.spi
00:00:26 #2391 [Verbose] >
00:00:26 #2392 [Verbose] > ╭─[ 240.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:26 #2393 [Verbose] > │ () │
00:00:26 #2394 [Verbose] > │ │
00:00:26 #2395 [Verbose] > │ │
00:00:26 #2396 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:26 #2397 [Verbose] >
00:00:26 #2398 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:26 #2399 [Verbose] > // // test
00:00:26 #2400 [Verbose] >
00:00:26 #2401 [Verbose] > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1,
00:00:26 #2402 [Verbose] > 1)) 800i32
00:00:26 #2403 [Verbose] > |> _equal (state_1d (7.999999999999874, 2864.8311229272326, 2864.8311229272326))
00:00:26 #2404 [Verbose] >
00:00:26 #2405 [Verbose] > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0,
00:00:26 #2406 [Verbose] > 1, 1)) 80i32
00:00:26 #2407 [Verbose] > |> _equal (state_1d (7.999999999999988, 3043.379244966009, 2895.0121485099035))
00:00:26 #2408 [Verbose] >
00:00:26 #2409 [Verbose] > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1,
00:00:26 #2410 [Verbose] > 1)) 8i32
00:00:26 #2411 [Verbose] > |> _equal (state_1d (8.0, 2894.789038540849, 2894.789038540849))
00:00:26 #2412 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0840-4042-46c71afa1882\main.spi
00:00:27 #2413 [Verbose] >
00:00:27 #2414 [Verbose] > ╭─[ 321.31ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2415 [Verbose] > │ let rec method0 () : unit = │
00:00:27 #2416 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (7.999999999999874, │
00:00:27 #2417 [Verbose] > │ 2864.8311229272326, 2864.8311229272326)} / expected: %A{struct │
00:00:27 #2418 [Verbose] > │ (7.999999999999874, 2864.8311229272326, 2864.8311229272326)}" │
00:00:27 #2419 [Verbose] > │ let v1 : string = $"_equal / actual: %A{struct (7.999999999999988, │
00:00:27 #2420 [Verbose] > │ 3043.379244966009, 2895.0121485099035)} / expected: %A{struct │
00:00:27 #2421 [Verbose] > │ (7.999999999999988, 3043.379244966009, 2895.0121485099035)}" │
00:00:27 #2422 [Verbose] > │ let v2 : string = $"_equal / actual: %A{struct (8.0, 2894.789038540849, │
00:00:27 #2423 [Verbose] > │ 2894.789038540849)} / expected: %A{struct (8.0, 2894.789038540849, │
00:00:27 #2424 [Verbose] > │ 2894.789038540849)}" │
00:00:27 #2425 [Verbose] > │ () │
00:00:27 #2426 [Verbose] > │ method0() │
00:00:27 #2427 [Verbose] > │ │
00:00:27 #2428 [Verbose] > │ │
00:00:27 #2429 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2430 [Verbose] >
00:00:27 #2431 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2432 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2433 [Verbose] > │ ## vec │
00:00:27 #2434 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2435 [Verbose] >
00:00:27 #2436 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2437 [Verbose] > type vec =
00:00:27 #2438 [Verbose] > {
00:00:27 #2439 [Verbose] > x : f64
00:00:27 #2440 [Verbose] > y : f64
00:00:27 #2441 [Verbose] > z : f64
00:00:27 #2442 [Verbose] > }
00:00:27 #2443 [Verbose] >
00:00:27 #2444 [Verbose] > inl vec x y z : vec =
00:00:27 #2445 [Verbose] > { x y z }
00:00:27 #2446 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0873-7325-76ab0818ecfb\main.spi
00:00:27 #2447 [Verbose] >
00:00:27 #2448 [Verbose] > ╭─[ 186.55ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2449 [Verbose] > │ () │
00:00:27 #2450 [Verbose] > │ │
00:00:27 #2451 [Verbose] > │ │
00:00:27 #2452 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2453 [Verbose] >
00:00:27 #2454 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2455 [Verbose] > // // test
00:00:27 #2456 [Verbose] >
00:00:27 #2457 [Verbose] > vec 1 2 3 .z
00:00:27 #2458 [Verbose] > |> _equal 3
00:00:27 #2459 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0892-9218-9a8806a488cc\main.spi
00:00:27 #2460 [Verbose] >
00:00:27 #2461 [Verbose] > ╭─[ 254.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2462 [Verbose] > │ let rec method0 () : unit = │
00:00:27 #2463 [Verbose] > │ let v0 : string = $"_equal / actual: %A{3.0} / expected: %A{3.0}" │
00:00:27 #2464 [Verbose] > │ () │
00:00:27 #2465 [Verbose] > │ method0() │
00:00:27 #2466 [Verbose] > │ │
00:00:27 #2467 [Verbose] > │ │
00:00:27 #2468 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2469 [Verbose] >
00:00:27 #2470 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2471 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2472 [Verbose] > │ ### consts │
00:00:27 #2473 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2474 [Verbose] >
00:00:27 #2475 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2476 [Verbose] > inl i_hat () = vec 1 0 0
00:00:27 #2477 [Verbose] > inl j_hat () = vec 0 1 0
00:00:27 #2478 [Verbose] > inl k_hat () = vec 0 0 1
00:00:27 #2479 [Verbose] > inl zero_vec () = vec 0 0 0
00:00:27 #2480 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0918-1829-16c044953ec4\main.spi
00:00:27 #2481 [Verbose] >
00:00:27 #2482 [Verbose] > ╭─[ 369.99ms - stdout ]────────────────────────────────────────────────────────╮
00:00:27 #2483 [Verbose] > │ () │
00:00:27 #2484 [Verbose] > │ │
00:00:27 #2485 [Verbose] > │ │
00:00:27 #2486 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2487 [Verbose] >
00:00:27 #2488 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:27 #2489 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:27 #2490 [Verbose] > │ ### ^+^ │
00:00:27 #2491 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:27 #2492 [Verbose] >
00:00:27 #2493 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:27 #2494 [Verbose] > inl (^+^) (a : vec) (b : vec) =
00:00:27 #2495 [Verbose] > vec (a.x + b.x) (a.y + b.y) (a.z + b.z)
00:00:28 #2496 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0955-5575-54cefb7a0a25\main.spi
00:00:28 #2497 [Verbose] >
00:00:28 #2498 [Verbose] > ╭─[ 168.83ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2499 [Verbose] > │ () │
00:00:28 #2500 [Verbose] > │ │
00:00:28 #2501 [Verbose] > │ │
00:00:28 #2502 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2503 [Verbose] >
00:00:28 #2504 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2505 [Verbose] > // // test
00:00:28 #2506 [Verbose] >
00:00:28 #2507 [Verbose] > vec 1 2 3 ^+^ vec 4 5 6
00:00:28 #2508 [Verbose] > |> _equal (vec 5 7 9)
00:00:28 #2509 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0972-7284-79aeba36efe2\main.spi
00:00:28 #2510 [Verbose] >
00:00:28 #2511 [Verbose] > ╭─[ 178.84ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2512 [Verbose] > │ let rec method0 () : unit = │
00:00:28 #2513 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
00:00:28 #2514 [Verbose] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
00:00:28 #2515 [Verbose] > │ () │
00:00:28 #2516 [Verbose] > │ method0() │
00:00:28 #2517 [Verbose] > │ │
00:00:28 #2518 [Verbose] > │ │
00:00:28 #2519 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2520 [Verbose] >
00:00:28 #2521 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 #2522 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 #2523 [Verbose] > │ ### sum_vec │
00:00:28 #2524 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2525 [Verbose] >
00:00:28 #2526 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2527 [Verbose] > inl sum_vec vs =
00:00:28 #2528 [Verbose] > vs |> listm.fold (^+^) (zero_vec ())
00:00:28 #2529 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-0991-9138-97aed41ebb02\main.spi
00:00:28 #2530 [Verbose] >
00:00:28 #2531 [Verbose] > ╭─[ 190.58ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2532 [Verbose] > │ () │
00:00:28 #2533 [Verbose] > │ │
00:00:28 #2534 [Verbose] > │ │
00:00:28 #2535 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2536 [Verbose] >
00:00:28 #2537 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2538 [Verbose] > // // test
00:00:28 #2539 [Verbose] >
00:00:28 #2540 [Verbose] > [[ vec 1 2 3; vec 4 5 6 ]]
00:00:28 #2541 [Verbose] > |> sum_vec
00:00:28 #2542 [Verbose] > |> _equal (vec 5 7 9)
00:00:28 #2543 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1010-1065-1c2224dc0b94\main.spi
00:00:28 #2544 [Verbose] >
00:00:28 #2545 [Verbose] > ╭─[ 176.26ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2546 [Verbose] > │ let rec method0 () : unit = │
00:00:28 #2547 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
00:00:28 #2548 [Verbose] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
00:00:28 #2549 [Verbose] > │ () │
00:00:28 #2550 [Verbose] > │ method0() │
00:00:28 #2551 [Verbose] > │ │
00:00:28 #2552 [Verbose] > │ │
00:00:28 #2553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2554 [Verbose] >
00:00:28 #2555 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 #2556 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 #2557 [Verbose] > │ ### *^ │
00:00:28 #2558 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2559 [Verbose] >
00:00:28 #2560 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2561 [Verbose] > inl (*^) c { x y z } =
00:00:28 #2562 [Verbose] > vec (c * x) (c * y) (c * z)
00:00:28 #2563 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1028-2884-2b752358922f\main.spi
00:00:28 #2564 [Verbose] >
00:00:28 #2565 [Verbose] > ╭─[ 182.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:28 #2566 [Verbose] > │ () │
00:00:28 #2567 [Verbose] > │ │
00:00:28 #2568 [Verbose] > │ │
00:00:28 #2569 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #2570 [Verbose] >
00:00:28 #2571 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #2572 [Verbose] > // // test
00:00:28 #2573 [Verbose] >
00:00:28 #2574 [Verbose] > 5 *^ vec 1 2 3
00:00:28 #2575 [Verbose] > |> _equal (vec 5 10 15)
00:00:28 #2576 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1047-4742-424cfb38ff91\main.spi
00:00:29 #2577 [Verbose] >
00:00:29 #2578 [Verbose] > ╭─[ 173.71ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2579 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2580 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
00:00:29 #2581 [Verbose] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
00:00:29 #2582 [Verbose] > │ () │
00:00:29 #2583 [Verbose] > │ method0() │
00:00:29 #2584 [Verbose] > │ │
00:00:29 #2585 [Verbose] > │ │
00:00:29 #2586 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2587 [Verbose] >
00:00:29 #2588 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2589 [Verbose] > // // test
00:00:29 #2590 [Verbose] >
00:00:29 #2591 [Verbose] > 3 *^ i_hat () ^+^ 4 *^ k_hat ()
00:00:29 #2592 [Verbose] > |> _equal (vec 3 0 4)
00:00:29 #2593 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1065-6531-6b60b80a0976\main.spi
00:00:29 #2594 [Verbose] >
00:00:29 #2595 [Verbose] > ╭─[ 182.05ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2596 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2597 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (3.0, 0.0, 4.0)} / │
00:00:29 #2598 [Verbose] > │ expected: %A{struct (3.0, 0.0, 4.0)}" │
00:00:29 #2599 [Verbose] > │ () │
00:00:29 #2600 [Verbose] > │ method0() │
00:00:29 #2601 [Verbose] > │ │
00:00:29 #2602 [Verbose] > │ │
00:00:29 #2603 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2604 [Verbose] >
00:00:29 #2605 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 #2606 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 #2607 [Verbose] > │ ### ^* │
00:00:29 #2608 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2609 [Verbose] >
00:00:29 #2610 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2611 [Verbose] > inl (^*) v c =
00:00:29 #2612 [Verbose] > (*^) c v
00:00:29 #2613 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1084-8405-88ae161d5866\main.spi
00:00:29 #2614 [Verbose] >
00:00:29 #2615 [Verbose] > ╭─[ 165.75ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2616 [Verbose] > │ () │
00:00:29 #2617 [Verbose] > │ │
00:00:29 #2618 [Verbose] > │ │
00:00:29 #2619 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2620 [Verbose] >
00:00:29 #2621 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2622 [Verbose] > // // test
00:00:29 #2623 [Verbose] >
00:00:29 #2624 [Verbose] > vec 1 2 3 ^* 5
00:00:29 #2625 [Verbose] > |> _equal (vec 5 10 15)
00:00:29 #2626 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1101-0113-08914c615e9e\main.spi
00:00:29 #2627 [Verbose] >
00:00:29 #2628 [Verbose] > ╭─[ 175.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2629 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2630 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
00:00:29 #2631 [Verbose] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
00:00:29 #2632 [Verbose] > │ () │
00:00:29 #2633 [Verbose] > │ method0() │
00:00:29 #2634 [Verbose] > │ │
00:00:29 #2635 [Verbose] > │ │
00:00:29 #2636 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2637 [Verbose] >
00:00:29 #2638 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 #2639 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 #2640 [Verbose] > │ ### ^/ │
00:00:29 #2641 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2642 [Verbose] >
00:00:29 #2643 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2644 [Verbose] > inl (^/) { x y z } c =
00:00:29 #2645 [Verbose] > vec (x / c) (y / c) (z / c)
00:00:29 #2646 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1119-1913-190ea9b7aa26\main.spi
00:00:29 #2647 [Verbose] >
00:00:29 #2648 [Verbose] > ╭─[ 178.79ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2649 [Verbose] > │ () │
00:00:29 #2650 [Verbose] > │ │
00:00:29 #2651 [Verbose] > │ │
00:00:29 #2652 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2653 [Verbose] >
00:00:29 #2654 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2655 [Verbose] > // // test
00:00:29 #2656 [Verbose] >
00:00:29 #2657 [Verbose] > vec 1 2 3 ^/ 5
00:00:29 #2658 [Verbose] > |> _equal (vec 0.2 0.4 0.6)
00:00:29 #2659 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1137-3718-3bc430556b2c\main.spi
00:00:29 #2660 [Verbose] >
00:00:29 #2661 [Verbose] > ╭─[ 205.65ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 #2662 [Verbose] > │ let rec method0 () : unit = │
00:00:29 #2663 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (0.2, 0.4, 0.6)} / │
00:00:29 #2664 [Verbose] > │ expected: %A{struct (0.2, 0.4, 0.6)}" │
00:00:29 #2665 [Verbose] > │ () │
00:00:29 #2666 [Verbose] > │ method0() │
00:00:29 #2667 [Verbose] > │ │
00:00:29 #2668 [Verbose] > │ │
00:00:29 #2669 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2670 [Verbose] >
00:00:29 #2671 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 #2672 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 #2673 [Verbose] > │ ### negate_vec │
00:00:29 #2674 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 #2675 [Verbose] >
00:00:29 #2676 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:29 #2677 [Verbose] > inl negate_vec v =
00:00:29 #2678 [Verbose] > v ^* -1
00:00:30 #2679 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1158-5848-5fd5165516df\main.spi
00:00:30 #2680 [Verbose] >
00:00:30 #2681 [Verbose] > ╭─[ 180.90ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2682 [Verbose] > │ () │
00:00:30 #2683 [Verbose] > │ │
00:00:30 #2684 [Verbose] > │ │
00:00:30 #2685 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2686 [Verbose] >
00:00:30 #2687 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2688 [Verbose] > // // test
00:00:30 #2689 [Verbose] >
00:00:30 #2690 [Verbose] > vec 1 2 3
00:00:30 #2691 [Verbose] > |> negate_vec
00:00:30 #2692 [Verbose] > |> _equal (vec -1 -2 -3)
00:00:30 #2693 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1176-7695-74633cf8215a\main.spi
00:00:30 #2694 [Verbose] >
00:00:30 #2695 [Verbose] > ╭─[ 203.16ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2696 [Verbose] > │ let rec method0 () : unit = │
00:00:30 #2697 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-1.0, -2.0, -3.0)} / │
00:00:30 #2698 [Verbose] > │ expected: %A{struct (-1.0, -2.0, -3.0)}" │
00:00:30 #2699 [Verbose] > │ () │
00:00:30 #2700 [Verbose] > │ method0() │
00:00:30 #2701 [Verbose] > │ │
00:00:30 #2702 [Verbose] > │ │
00:00:30 #2703 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2704 [Verbose] >
00:00:30 #2705 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 #2706 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 #2707 [Verbose] > │ ### ^-^ │
00:00:30 #2708 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2709 [Verbose] >
00:00:30 #2710 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2711 [Verbose] > inl (^-^) a b =
00:00:30 #2712 [Verbose] > a ^+^ (negate_vec b)
00:00:30 #2713 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1197-9781-9693fe6372dc\main.spi
00:00:30 #2714 [Verbose] >
00:00:30 #2715 [Verbose] > ╭─[ 215.28ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2716 [Verbose] > │ () │
00:00:30 #2717 [Verbose] > │ │
00:00:30 #2718 [Verbose] > │ │
00:00:30 #2719 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2720 [Verbose] >
00:00:30 #2721 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2722 [Verbose] > // // test
00:00:30 #2723 [Verbose] >
00:00:30 #2724 [Verbose] > vec 1 2 3 ^-^ vec 4 5 6
00:00:30 #2725 [Verbose] > |> _equal (vec -3 -3 -3)
00:00:30 #2726 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1219-1958-1ed8354d7f85\main.spi
00:00:30 #2727 [Verbose] >
00:00:30 #2728 [Verbose] > ╭─[ 206.60ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 #2729 [Verbose] > │ let rec method0 () : unit = │
00:00:30 #2730 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, -3.0, -3.0)} / │
00:00:30 #2731 [Verbose] > │ expected: %A{struct (-3.0, -3.0, -3.0)}" │
00:00:30 #2732 [Verbose] > │ () │
00:00:30 #2733 [Verbose] > │ method0() │
00:00:30 #2734 [Verbose] > │ │
00:00:30 #2735 [Verbose] > │ │
00:00:30 #2736 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2737 [Verbose] >
00:00:30 #2738 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 #2739 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 #2740 [Verbose] > │ ### <.> │
00:00:30 #2741 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 #2742 [Verbose] >
00:00:30 #2743 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 #2744 [Verbose] > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } =
00:00:30 #2745 [Verbose] > ax * bx + ay * by + az * bz
00:00:30 #2746 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1241-4104-4422392d1e07\main.spi
00:00:31 #2747 [Verbose] >
00:00:31 #2748 [Verbose] > ╭─[ 212.92ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2749 [Verbose] > │ () │
00:00:31 #2750 [Verbose] > │ │
00:00:31 #2751 [Verbose] > │ │
00:00:31 #2752 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2753 [Verbose] >
00:00:31 #2754 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2755 [Verbose] > // // test
00:00:31 #2756 [Verbose] >
00:00:31 #2757 [Verbose] > vec 1 2 3 <.> vec 4 5 6
00:00:31 #2758 [Verbose] > |> _equal 32
00:00:31 #2759 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1262-6242-64a86b7e2f7d\main.spi
00:00:31 #2760 [Verbose] >
00:00:31 #2761 [Verbose] > ╭─[ 201.71ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2762 [Verbose] > │ let rec method0 () : unit = │
00:00:31 #2763 [Verbose] > │ let v0 : string = $"_equal / actual: %A{32.0} / expected: %A{32.0}" │
00:00:31 #2764 [Verbose] > │ () │
00:00:31 #2765 [Verbose] > │ method0() │
00:00:31 #2766 [Verbose] > │ │
00:00:31 #2767 [Verbose] > │ │
00:00:31 #2768 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2769 [Verbose] >
00:00:31 #2770 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 #2771 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 #2772 [Verbose] > │ ### \>\< │
00:00:31 #2773 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2774 [Verbose] >
00:00:31 #2775 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2776 [Verbose] > inl (><) (a : vec) (b : vec) =
00:00:31 #2777 [Verbose] > vec
00:00:31 #2778 [Verbose] > (a.y * b.z - a.z * b.y)
00:00:31 #2779 [Verbose] > (a.z * b.x - a.x * b.z)
00:00:31 #2780 [Verbose] > (a.x * b.y - a.y * b.x)
00:00:31 #2781 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1283-8310-860ef8a30b01\main.spi
00:00:31 #2782 [Verbose] >
00:00:31 #2783 [Verbose] > ╭─[ 235.58ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2784 [Verbose] > │ () │
00:00:31 #2785 [Verbose] > │ │
00:00:31 #2786 [Verbose] > │ │
00:00:31 #2787 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2788 [Verbose] >
00:00:31 #2789 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2790 [Verbose] > // // test
00:00:31 #2791 [Verbose] >
00:00:31 #2792 [Verbose] > vec 1 2 3 >< vec 4 5 6
00:00:31 #2793 [Verbose] > |> _equal (vec -3 6 -3)
00:00:31 #2794 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1307-0780-09837429ad29\main.spi
00:00:31 #2795 [Verbose] >
00:00:31 #2796 [Verbose] > ╭─[ 404.28ms - stdout ]────────────────────────────────────────────────────────╮
00:00:31 #2797 [Verbose] > │ let rec method0 () : unit = │
00:00:31 #2798 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, 6.0, -3.0)} / │
00:00:31 #2799 [Verbose] > │ expected: %A{struct (-3.0, 6.0, -3.0)}" │
00:00:31 #2800 [Verbose] > │ () │
00:00:31 #2801 [Verbose] > │ method0() │
00:00:31 #2802 [Verbose] > │ │
00:00:31 #2803 [Verbose] > │ │
00:00:31 #2804 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2805 [Verbose] >
00:00:31 #2806 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 #2807 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 #2808 [Verbose] > │ ### magnitude │
00:00:31 #2809 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 #2810 [Verbose] >
00:00:31 #2811 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 #2812 [Verbose] > inl magnitude v =
00:00:31 #2813 [Verbose] > v <.> v |> sqrt
00:00:32 #2814 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1348-4860-424b6284c21f\main.spi
00:00:32 #2815 [Verbose] >
00:00:32 #2816 [Verbose] > ╭─[ 171.89ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2817 [Verbose] > │ () │
00:00:32 #2818 [Verbose] > │ │
00:00:32 #2819 [Verbose] > │ │
00:00:32 #2820 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2821 [Verbose] >
00:00:32 #2822 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2823 [Verbose] > // // test
00:00:32 #2824 [Verbose] >
00:00:32 #2825 [Verbose] > vec 1 2 3
00:00:32 #2826 [Verbose] > |> magnitude
00:00:32 #2827 [Verbose] > |> _almost_equal 3.7416573867739413
00:00:32 #2828 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1365-6596-64a926c6766d\main.spi
00:00:32 #2829 [Verbose] >
00:00:32 #2830 [Verbose] > ╭─[ 191.97ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2831 [Verbose] > │ let rec method0 () : unit = │
00:00:32 #2832 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{3.7416573867739413} / │
00:00:32 #2833 [Verbose] > │ expected: %A{3.7416573867739413}" │
00:00:32 #2834 [Verbose] > │ () │
00:00:32 #2835 [Verbose] > │ method0() │
00:00:32 #2836 [Verbose] > │ │
00:00:32 #2837 [Verbose] > │ │
00:00:32 #2838 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2839 [Verbose] >
00:00:32 #2840 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:32 #2841 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:32 #2842 [Verbose] > │ ### v1 │
00:00:32 #2843 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2844 [Verbose] >
00:00:32 #2845 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2846 [Verbose] > inl v1 t =
00:00:32 #2847 [Verbose] > 2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat
00:00:32 #2848 [Verbose] > ()))
00:00:32 #2849 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1385-8582-8a3c2b65d369\main.spi
00:00:32 #2850 [Verbose] >
00:00:32 #2851 [Verbose] > ╭─[ 176.57ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2852 [Verbose] > │ () │
00:00:32 #2853 [Verbose] > │ │
00:00:32 #2854 [Verbose] > │ │
00:00:32 #2855 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2856 [Verbose] >
00:00:32 #2857 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2858 [Verbose] > // // test
00:00:32 #2859 [Verbose] >
00:00:32 #2860 [Verbose] > v1 1
00:00:32 #2861 [Verbose] > |> _equal (vec 2 6 6)
00:00:32 #2862 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1403-0368-066e9c594363\main.spi
00:00:32 #2863 [Verbose] >
00:00:32 #2864 [Verbose] > ╭─[ 188.62ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2865 [Verbose] > │ let rec method0 () : unit = │
00:00:32 #2866 [Verbose] > │ let v0 : string = $"_equal / actual: %A{struct (2.0, 6.0, 6.0)} / │
00:00:32 #2867 [Verbose] > │ expected: %A{struct (2.0, 6.0, 6.0)}" │
00:00:32 #2868 [Verbose] > │ () │
00:00:32 #2869 [Verbose] > │ method0() │
00:00:32 #2870 [Verbose] > │ │
00:00:32 #2871 [Verbose] > │ │
00:00:32 #2872 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2873 [Verbose] >
00:00:32 #2874 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:32 #2875 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:32 #2876 [Verbose] > │ ### vec_derivative │
00:00:32 #2877 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2878 [Verbose] >
00:00:32 #2879 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2880 [Verbose] > type vec_derivative = (f64 -> vec) -> f64 -> vec
00:00:32 #2881 [Verbose] >
00:00:32 #2882 [Verbose] > inl vec_derivative dt : vec_derivative =
00:00:32 #2883 [Verbose] > fun v t =>
00:00:32 #2884 [Verbose] > (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt
00:00:32 #2885 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1423-2314-2a6e3c0973fe\main.spi
00:00:32 #2886 [Verbose] >
00:00:32 #2887 [Verbose] > ╭─[ 212.12ms - stdout ]────────────────────────────────────────────────────────╮
00:00:32 #2888 [Verbose] > │ () │
00:00:32 #2889 [Verbose] > │ │
00:00:32 #2890 [Verbose] > │ │
00:00:32 #2891 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 #2892 [Verbose] >
00:00:32 #2893 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:32 #2894 [Verbose] > // // test
00:00:32 #2895 [Verbose] >
00:00:32 #2896 [Verbose] > vec_derivative 0.01 v1 3 .x
00:00:32 #2897 [Verbose] > |> _almost_equal (derivative 0.01 (v1 >> fun v => v.x) 3)
00:00:32 #2898 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1445-4525-4a8ddf5e1eba\main.spi
00:00:33 #2899 [Verbose] >
00:00:33 #2900 [Verbose] > ╭─[ 205.40ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #2901 [Verbose] > │ let rec method0 () : unit = │
00:00:33 #2902 [Verbose] > │ let v0 : string = $"_almost_equal / actual: %A{11.999999999999744} / │
00:00:33 #2903 [Verbose] > │ expected: %A{11.999999999999744}" │
00:00:33 #2904 [Verbose] > │ () │
00:00:33 #2905 [Verbose] > │ method0() │
00:00:33 #2906 [Verbose] > │ │
00:00:33 #2907 [Verbose] > │ │
00:00:33 #2908 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #2909 [Verbose] >
00:00:33 #2910 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:33 #2911 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:33 #2912 [Verbose] > │ ## states_ps │
00:00:33 #2913 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #2914 [Verbose] >
00:00:33 #2915 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #2916 [Verbose] > nominal particle_state =
00:00:33 #2917 [Verbose] > {
00:00:33 #2918 [Verbose] > mass : f64
00:00:33 #2919 [Verbose] > charge : f64
00:00:33 #2920 [Verbose] > time : f64
00:00:33 #2921 [Verbose] > pos_vec : vec
00:00:33 #2922 [Verbose] > velocity : vec
00:00:33 #2923 [Verbose] > }
00:00:33 #2924 [Verbose] >
00:00:33 #2925 [Verbose] > inl default_particle_state () : particle_state =
00:00:33 #2926 [Verbose] > particle_state {
00:00:33 #2927 [Verbose] > mass = 1
00:00:33 #2928 [Verbose] > charge = 0
00:00:33 #2929 [Verbose] > time = 0
00:00:33 #2930 [Verbose] > pos_vec = zero_vec ()
00:00:33 #2931 [Verbose] > velocity = zero_vec ()
00:00:33 #2932 [Verbose] > }
00:00:33 #2933 [Verbose] >
00:00:33 #2934 [Verbose] > type one_body_force = particle_state -> vec
00:00:33 #2935 [Verbose] >
00:00:33 #2936 [Verbose] > nominal d_particle_state =
00:00:33 #2937 [Verbose] > {
00:00:33 #2938 [Verbose] > dmdt : f64
00:00:33 #2939 [Verbose] > dqdt : f64
00:00:33 #2940 [Verbose] > dtdt : f64
00:00:33 #2941 [Verbose] > drdt : vec
00:00:33 #2942 [Verbose] > dvdt : vec
00:00:33 #2943 [Verbose] > }
00:00:33 #2944 [Verbose] >
00:00:33 #2945 [Verbose] > inl newton_second_ps (fs : list one_body_force) (st : particle_state) :
00:00:33 #2946 [Verbose] > d_particle_state =
00:00:33 #2947 [Verbose] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:00:33 #2948 [Verbose] > d_particle_state {
00:00:33 #2949 [Verbose] > dmdt = 0
00:00:33 #2950 [Verbose] > dqdt = 0
00:00:33 #2951 [Verbose] > dtdt = 1
00:00:33 #2952 [Verbose] > drdt = st.velocity
00:00:33 #2953 [Verbose] > dvdt = f_net ^/ st.mass
00:00:33 #2954 [Verbose] > }
00:00:33 #2955 [Verbose] >
00:00:33 #2956 [Verbose] > inl earth_surface_gravity (st : particle_state) =
00:00:33 #2957 [Verbose] > inl g = 9.80665
00:00:33 #2958 [Verbose] > -st.mass * g *^ k_hat ()
00:00:33 #2959 [Verbose] >
00:00:33 #2960 [Verbose] > inl air_resistance drag rho area (st : particle_state) =
00:00:33 #2961 [Verbose] > -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity
00:00:33 #2962 [Verbose] >
00:00:33 #2963 [Verbose] > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state)
00:00:33 #2964 [Verbose] > (particle_state st) =
00:00:33 #2965 [Verbose] > inl dst : d_particle_state = deriv (particle_state st)
00:00:33 #2966 [Verbose] > inl v' = st.velocity ^+^ dst.dvdt ^* dt
00:00:33 #2967 [Verbose] > particle_state { st with
00:00:33 #2968 [Verbose] > time = st.time + dt
00:00:33 #2969 [Verbose] > pos_vec = st.pos_vec ^+^ v' ^* dt
00:00:33 #2970 [Verbose] > velocity = st.velocity ^+^ dst.dvdt ^* dt
00:00:33 #2971 [Verbose] > }
00:00:33 #2972 [Verbose] >
00:00:33 #2973 [Verbose] > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' :
00:00:33 #2974 [Verbose] > d_particle_state) =>
00:00:33 #2975 [Verbose] > d_particle_state {
00:00:33 #2976 [Verbose] > dmdt = dps.dmdt + dps'.dmdt
00:00:33 #2977 [Verbose] > dqdt = dps.dqdt + dps'.dqdt
00:00:33 #2978 [Verbose] > dtdt = dps.dtdt + dps'.dtdt
00:00:33 #2979 [Verbose] > drdt = dps.drdt ^+^ dps'.drdt
00:00:33 #2980 [Verbose] > dvdt = dps.dvdt ^+^ dps'.dvdt
00:00:33 #2981 [Verbose] > }
00:00:33 #2982 [Verbose] >
00:00:33 #2983 [Verbose] > instance scale d_particle_state = fun w (dps : d_particle_state) =>
00:00:33 #2984 [Verbose] > d_particle_state {
00:00:33 #2985 [Verbose] > dmdt = w * dps.dmdt
00:00:33 #2986 [Verbose] > dqdt = w * dps.dqdt
00:00:33 #2987 [Verbose] > dtdt = w * dps.dtdt
00:00:33 #2988 [Verbose] > drdt = w *^ dps.drdt
00:00:33 #2989 [Verbose] > dvdt = w *^ dps.dvdt
00:00:33 #2990 [Verbose] > }
00:00:33 #2991 [Verbose] >
00:00:33 #2992 [Verbose] > instance shift particle_state = fun dt dps (particle_state st) =>
00:00:33 #2993 [Verbose] > inl (d_particle_state dps) =
00:00:33 #2994 [Verbose] > real
00:00:33 #2995 [Verbose] > match dps with
00:00:33 #2996 [Verbose] > | d_particle_state _ => dps
00:00:33 #2997 [Verbose] > particle_state { st with
00:00:33 #2998 [Verbose] > time = st.time + dps.dtdt * dt
00:00:33 #2999 [Verbose] > pos_vec = st.pos_vec ^+^ dps.drdt ^* dt
00:00:33 #3000 [Verbose] > velocity = st.velocity ^+^ dps.dvdt ^* dt
00:00:33 #3001 [Verbose] > }
00:00:33 #3002 [Verbose] >
00:00:33 #3003 [Verbose] > inl states_ps (method : numerical_method particle_state d_particle_state) : _ ->
00:00:33 #3004 [Verbose] > _ -> i32 -> particle_state =
00:00:33 #3005 [Verbose] > newton_second_ps >> method >> seq.iterate_
00:00:33 #3006 [Verbose] >
00:00:33 #3007 [Verbose] > inl z_ge0 sts =
00:00:33 #3008 [Verbose] > sts
00:00:33 #3009 [Verbose] > |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0)
00:00:33 #3010 [Verbose] >
00:00:33 #3011 [Verbose] > inl trajectory sts =
00:00:33 #3012 [Verbose] > sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z)
00:00:33 #3013 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1466-6618-6dba6490af43\main.spi
00:00:33 #3014 [Verbose] >
00:00:33 #3015 [Verbose] > ╭─[ 173.53ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #3016 [Verbose] > │ () │
00:00:33 #3017 [Verbose] > │ │
00:00:33 #3018 [Verbose] > │ │
00:00:33 #3019 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #3020 [Verbose] >
00:00:33 #3021 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #3022 [Verbose] > // // test
00:00:33 #3023 [Verbose] >
00:00:33 #3024 [Verbose] > inl update_ps (method : numerical_method particle_state d_particle_state) =
00:00:33 #3025 [Verbose] > newton_second_ps >> method
00:00:33 #3026 [Verbose] >
00:00:33 #3027 [Verbose] > inl position_ps (method : numerical_method particle_state d_particle_state) fs
00:00:33 #3028 [Verbose] > st t =
00:00:33 #3029 [Verbose] > inl states : i32 -> particle_state = states_ps method fs st
00:00:33 #3030 [Verbose] > inl dt = (states 1).time - (states 0).time
00:00:33 #3031 [Verbose] > inl num_steps = t / dt |> math.round |> abs
00:00:33 #3032 [Verbose] > inl st1 = solver' method (newton_second_ps fs) st num_steps
00:00:33 #3033 [Verbose] > st1.pos_vec
00:00:33 #3034 [Verbose] >
00:00:33 #3035 [Verbose] > inl sun_gravity (st : particle_state) : vec =
00:00:33 #3036 [Verbose] > inl big_g = 0.0000000000667408
00:00:33 #3037 [Verbose] > inl sun_mass = 1988480000000000000000000000000
00:00:33 #3038 [Verbose] > -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3
00:00:33 #3039 [Verbose] >
00:00:33 #3040 [Verbose] > inl wind_force v_wind drag rho area (st : particle_state) =
00:00:33 #3041 [Verbose] > inl v_rel = st.velocity ^-^ v_wind
00:00:33 #3042 [Verbose] > -0.5 * drag * rho * area * magnitude v_rel *^ v_rel
00:00:33 #3043 [Verbose] >
00:00:33 #3044 [Verbose] > inl rock_state () =
00:00:33 #3045 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:33 #3046 [Verbose] > particle_state { default_particle_state' with
00:00:33 #3047 [Verbose] > mass = 2
00:00:33 #3048 [Verbose] > velocity = vec 3 0 4
00:00:33 #3049 [Verbose] > }
00:00:33 #3050 [Verbose] >
00:00:33 #3051 [Verbose] > inl halley_update dt =
00:00:33 #3052 [Verbose] > update_ps (euler_cromer_ps dt) [[ sun_gravity ]]
00:00:33 #3053 [Verbose] >
00:00:33 #3054 [Verbose] > inl halley_initial () =
00:00:33 #3055 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:33 #3056 [Verbose] > particle_state { default_particle_state' with
00:00:33 #3057 [Verbose] > mass = 220000000000000
00:00:33 #3058 [Verbose] > pos_vec = 87660000000 *^ i_hat ()
00:00:33 #3059 [Verbose] > velocity = 54569 *^ j_hat ()
00:00:33 #3060 [Verbose] > }
00:00:33 #3061 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1483-8367-829670688911\main.spi
00:00:33 #3062 [Verbose] >
00:00:33 #3063 [Verbose] > ╭─[ 201.45ms - stdout ]────────────────────────────────────────────────────────╮
00:00:33 #3064 [Verbose] > │ () │
00:00:33 #3065 [Verbose] > │ │
00:00:33 #3066 [Verbose] > │ │
00:00:33 #3067 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 #3068 [Verbose] >
00:00:33 #3069 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:33 #3070 [Verbose] > // // test
00:00:33 #3071 [Verbose] >
00:00:33 #3072 [Verbose] > inl baseball_forces () =
00:00:33 #3073 [Verbose] > inl area = pi * (0.074 / 2) ** 2
00:00:33 #3074 [Verbose] > [[
00:00:33 #3075 [Verbose] > earth_surface_gravity
00:00:33 #3076 [Verbose] > air_resistance 0.3 1.225 area
00:00:33 #3077 [Verbose] > ]]
00:00:33 #3078 [Verbose] >
00:00:33 #3079 [Verbose] > inl baseball_trajectory dt v0 theta_deg =
00:00:33 #3080 [Verbose] > inl theta_rad = theta_deg * pi / 180
00:00:33 #3081 [Verbose] > inl vy0 = v0 * cos theta_rad
00:00:33 #3082 [Verbose] > inl vz0 = v0 * sin theta_rad
00:00:33 #3083 [Verbose] > inl initial_state =
00:00:33 #3084 [Verbose] > particle_state {
00:00:33 #3085 [Verbose] > mass = 0.145
00:00:33 #3086 [Verbose] > charge = 0
00:00:33 #3087 [Verbose] > time = 0
00:00:33 #3088 [Verbose] > pos_vec = zero_vec ()
00:00:33 #3089 [Verbose] > velocity = vec 0 vy0 vz0
00:00:33 #3090 [Verbose] > }
00:00:33 #3091 [Verbose] > states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state
00:00:33 #3092 [Verbose] > >> Some
00:00:33 #3093 [Verbose] > |> z_ge0
00:00:33 #3094 [Verbose] > |> trajectory
00:00:33 #3095 [Verbose] >
00:00:33 #3096 [Verbose] > inl baseball_range dt v0 theta_deg =
00:00:33 #3097 [Verbose] > baseball_trajectory dt v0 theta_deg
00:00:33 #3098 [Verbose] > |> listm.fold (fun _ (y, _) => y) 0
00:00:33 #3099 [Verbose] >
00:00:33 #3100 [Verbose] > inl x : a _ f64 = am'.init_series 10 80 1
00:00:33 #3101 [Verbose] > inl y = x |> am.map (baseball_range 0.01 45)
00:00:33 #3102 [Verbose] > "range for a baseball hit at 45 m/s",
00:00:33 #3103 [Verbose] > "angle above horizontal (degrees)",
00:00:33 #3104 [Verbose] > "",
00:00:33 #3105 [Verbose] > ;[[ "horizontal range (m)", x, y ]]
00:00:33 #3106 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1504-0437-0f1e01873a5e\main.spi
00:00:34 #3107 [Verbose] >
00:00:34 #3108 [Verbose] > ╭─[ 863.01ms - return value ]──────────────────────────────────────────────────╮
00:00:34 #3109 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:34 #3110 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:34 #3111 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:34 #3112 [Verbose] > │ stroke="none"/> │
00:00:34 #3113 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:34 #3114 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:34 #3115 [Verbose] > │ fill="#FFFFFF"> │
00:00:34 #3116 [Verbose] > │ range for a baseball hit at 45 m/s │
00:00:34 #3117 [Verbose] > │ </text> │
00:00:34 #3118 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │
00:00:34 #3119 [Verbose] > │ y2="75"/> │
00:00:34 #3120 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:00:34 #3121 [Verbose] > │ y2="75"/> │
00:00:34 #3122 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:34 #3123 [Verbose] > │ y2="75"/> │
00:00:34 #3124 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:00:34 #3125 [Verbose] > │ y2="75"/> │
00:00:34 #3126 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="... │
00:00:34 #3127 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 #3128 [Verbose] >
00:00:34 #3129 [Verbose] > ╭─[ 875.02ms - stdout ]────────────────────────────────────────────────────────╮
00:00:34 #3130 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:00:34 #3131 [Verbose] > │ and UH0 = │
00:00:34 #3132 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:34 #3133 [Verbose] > │ * float * UH0 │
00:00:34 #3134 [Verbose] > │ | UH0_1 │
00:00:34 #3135 [Verbose] > │ and UH1 = │
00:00:34 #3136 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:34 #3137 [Verbose] > │ | UH1_1 │
00:00:34 #3138 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:00:34 #3139 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:34 #3140 [Verbose] > │ let v2 : bool = v1 < 71 │
00:00:34 #3141 [Verbose] > │ v2 │
00:00:34 #3142 [Verbose] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
00:00:34 #3143 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:34 #3144 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:34 #3145 [Verbose] > │ v3 │
00:00:34 #3146 [Verbose] > │ and method4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
00:00:34 #3147 [Verbose] > │ : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float * │
00:00:34 #3148 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:34 #3149 [Verbose] > │ let v10 : bool = v9 <= 0 │
00:00:34 #3150 [Verbose] > │ if v10 then │
00:00:34 #3151 [Verbose] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:34 #3152 [Verbose] > │ else │
00:00:34 #3153 [Verbose] > │ let v11 : float = v6 * v6 │
00:00:34 #3154 [Verbose] > │ let v12 : float = v7 * v7 │
00:00:34 #3155 [Verbose] > │ let v13 : float = v11 + v12 │
00:00:34 #3156 [Verbose] > │ let v14 : float = v8 * v8 │
00:00:34 #3157 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:34 #3158 [Verbose] > │ let v16 : float = sqrt v15 │
00:00:34 #3159 [Verbose] > │ let v17 : float = -0.0007902794129829633 * v16 │
00:00:34 #3160 [Verbose] > │ let v18 : float = v17 * v6 │
00:00:34 #3161 [Verbose] > │ let v19 : float = v17 * v7 │
00:00:34 #3162 [Verbose] > │ let v20 : float = v17 * v8 │
00:00:34 #3163 [Verbose] > │ let v21 : float = -v1 │
00:00:34 #3164 [Verbose] > │ let v22 : float = v21 * 9.80665 │
00:00:34 #3165 [Verbose] > │ let v23 : float = v22 * 0.0 │
00:00:34 #3166 [Verbose] > │ let v24 : float = v23 + v18 │
00:00:34 #3167 [Verbose] > │ let v25 : float = v23 + v19 │
00:00:34 #3168 [Verbose] > │ let v26 : float = v22 + v20 │
00:00:34 #3169 [Verbose] > │ let v27 : float = v24 / v1 │
00:00:34 #3170 [Verbose] > │ let v28 : float = v25 / v1 │
00:00:34 #3171 [Verbose] > │ let v29 : float = v26 / v1 │
00:00:34 #3172 [Verbose] > │ let v30 : float = 0.01 * v27 │
00:00:34 #3173 [Verbose] > │ let v31 : float = 0.01 * v28 │
00:00:34 #3174 [Verbose] > │ let v32 : float = 0.01 * v29 │
00:00:34 #3175 [Verbose] > │ let v33 : float = v6 + v30 │
00:00:34 #3176 [Verbose] > │ let v34 : float = v7 + v31 │
00:00:34 #3177 [Verbose] > │ let v35 : float = v8 + v32 │
00:00:34 #3178 [Verbose] > │ let v36 : float = v5 + 0.01 │
00:00:34 #3179 [Verbose] > │ let v37 : float = 0.01 * v33 │
00:00:34 #3180 [Verbose] > │ let v38 : float = 0.01 * v34 │
00:00:34 #3181 [Verbose] > │ let v39 : float = 0.01 * v35 │
00:00:34 #3182 [Verbose] > │ let v40 : float = v2 + v37 │
00:00:34 #3183 [Verbose] > │ let v41 : float = v3 + v38 │
00:00:34 #3184 [Verbose] > │ let v42 : float = v4 + v39 │
00:00:34 #3185 [Verbose] > │ let v43 : int32 = v9 - 1 │
00:00:34 #3186 [Verbose] > │ method4(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
00:00:34 #3187 [Verbose] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:34 #3188 [Verbose] > │ match v0 with │
00:00:34 #3189 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3190 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:34 #3191 [Verbose] > │ method5(v11, v12) │
00:00:34 #3192 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3193 [Verbose] > │ v1 │
00:00:34 #3194 [Verbose] > │ and method3 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
00:00:34 #3195 [Verbose] > │ let v4 : float = 0.0 │
00:00:34 #3196 [Verbose] > │ let v5 : float = 0.145 │
00:00:34 #3197 [Verbose] > │ let v6 : float = 0.0 │
00:00:34 #3198 [Verbose] > │ let v7 : float = 0.0 │
00:00:34 #3199 [Verbose] > │ let v8 : float = 0.0 │
00:00:34 #3200 [Verbose] > │ let v9 : float = 0.0 │
00:00:34 #3201 [Verbose] > │ let v10 : float = 0.0 │
00:00:34 #3202 [Verbose] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
00:00:34 #3203 [Verbose] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method4(v4, v5, │
00:00:34 #3204 [Verbose] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
00:00:34 #3205 [Verbose] > │ let v20 : bool = v15 >= 0.0 │
00:00:34 #3206 [Verbose] > │ if v20 then │
00:00:34 #3207 [Verbose] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
00:00:34 #3208 [Verbose] > │ v2) │
00:00:34 #3209 [Verbose] > │ let v22 : int32 = v3 + 1 │
00:00:34 #3210 [Verbose] > │ method3(v0, v1, v21, v22) │
00:00:34 #3211 [Verbose] > │ else │
00:00:34 #3212 [Verbose] > │ let v24 : UH0 = UH0_1 │
00:00:34 #3213 [Verbose] > │ method5(v2, v24) │
00:00:34 #3214 [Verbose] > │ and method6 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:34 #3215 [Verbose] > │ match v0 with │
00:00:34 #3216 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3217 [Verbose] > │ let v12 : UH1 = method6(v11, v1) │
00:00:34 #3218 [Verbose] > │ UH1_0(v5, v6, v12) │
00:00:34 #3219 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3220 [Verbose] > │ v1 │
00:00:34 #3221 [Verbose] > │ and method7 (v0 : UH1, v1 : float) : float = │
00:00:34 #3222 [Verbose] > │ match v0 with │
00:00:34 #3223 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
00:00:34 #3224 [Verbose] > │ method7(v4, v2) │
00:00:34 #3225 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:34 #3226 [Verbose] > │ v1 │
00:00:34 #3227 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:34 #3228 [Verbose] > │ []) * (float [])) [])) = │
00:00:34 #3229 [Verbose] > │ let v0 : (float []) = Array.zeroCreate<float> (71) │
00:00:34 #3230 [Verbose] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
00:00:34 #3231 [Verbose] > │ while method1(v1) do │
00:00:34 #3232 [Verbose] > │ let v3 : int32 = v1.l0 │
00:00:34 #3233 [Verbose] > │ let v4 : float = float v3 │
00:00:34 #3234 [Verbose] > │ let v5 : float = 10.0 + v4 │
00:00:34 #3235 [Verbose] > │ v0.[int v3] <- v5 │
00:00:34 #3236 [Verbose] > │ let v6 : int32 = v3 + 1 │
00:00:34 #3237 [Verbose] > │ v1.l0 <- v6 │
00:00:34 #3238 [Verbose] > │ () │
00:00:34 #3239 [Verbose] > │ let v7 : int32 = v0.Length │
00:00:34 #3240 [Verbose] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
00:00:34 #3241 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:00:34 #3242 [Verbose] > │ while method2(v7, v9) do │
00:00:34 #3243 [Verbose] > │ let v11 : int32 = v9.l0 │
00:00:34 #3244 [Verbose] > │ let v12 : float = v0.[int v11] │
00:00:34 #3245 [Verbose] > │ let v13 : float = v12 * 3.141592653589793 │
00:00:34 #3246 [Verbose] > │ let v14 : float = v13 / 180.0 │
00:00:34 #3247 [Verbose] > │ let v15 : float = cos v14 │
00:00:34 #3248 [Verbose] > │ let v16 : float = 45.0 * v15 │
00:00:34 #3249 [Verbose] > │ let v17 : float = sin v14 │
00:00:34 #3250 [Verbose] > │ let v18 : float = 45.0 * v17 │
00:00:34 #3251 [Verbose] > │ let v19 : UH0 = UH0_1 │
00:00:34 #3252 [Verbose] > │ let v20 : int32 = 0 │
00:00:34 #3253 [Verbose] > │ let v21 : UH0 = method3(v16, v18, v19, v20) │
00:00:34 #3254 [Verbose] > │ let v22 : UH1 = UH1_1 │
00:00:34 #3255 [Verbose] > │ let v23 : UH1 = method6(v21, v22) │
00:00:34 #3256 [Verbose] > │ let v24 : float = 0.0 │
00:00:34 #3257 [Verbose] > │ let v25 : float = method7(v23, v24) │
00:00:34 #3258 [Verbose] > │ v8.[int v11] <- v25 │
00:00:34 #3259 [Verbose] > │ let v26 : int32 = v11 + 1 │
00:00:34 #3260 [Verbose] > │ v9.l0 <- v26 │
00:00:34 #3261 [Verbose] > │ () │
00:00:34 #3262 [Verbose] > │ let v27 : string = "horizontal range (m)" │
00:00:34 #3263 [Verbose] > │ let v28 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:34 #3264 [Verbose] > │ (v27, v0, v8)|] │
00:00:34 #3265 [Verbose] > │ let v29 : string = "range for a baseball hit at 45 m/s" │
00:00:34 #3266 [Verbose] > │ let v30 : string = "angle above horizontal (degrees)" │
00:00:34 #3267 [Verbose] > │ let v31 : string = "" │
00:00:34 #3268 [Verbose] > │ struct (v29, v30, v31, v28) │
00:00:34 #3269 [Verbose] > │ method0() │
00:00:34 #3270 [Verbose] > │ │
00:00:34 #3271 [Verbose] > │ │
00:00:34 #3272 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 #3273 [Verbose] >
00:00:34 #3274 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:34 #3275 [Verbose] > // // test
00:00:34 #3276 [Verbose] >
00:00:34 #3277 [Verbose] > inl best_angle (min, max) =
00:00:34 #3278 [Verbose] > let rec loop theta_deg (best_range, best_theta_deg) =
00:00:34 #3279 [Verbose] > if theta_deg > max
00:00:34 #3280 [Verbose] > then best_range, best_theta_deg
00:00:34 #3281 [Verbose] > else
00:00:34 #3282 [Verbose] > inl range = baseball_range 0.01 45 theta_deg
00:00:34 #3283 [Verbose] > loop
00:00:34 #3284 [Verbose] > (theta_deg + 1)
00:00:34 #3285 [Verbose] > (if range > best_range
00:00:34 #3286 [Verbose] > then range, theta_deg
00:00:34 #3287 [Verbose] > else best_range, best_theta_deg)
00:00:34 #3288 [Verbose] > loop min (0f64, min)
00:00:34 #3289 [Verbose] >
00:00:34 #3290 [Verbose] > best_angle (30f64, 60f64)
00:00:34 #3291 [Verbose] > |> _equal (116.77499158246208, 41)
00:00:34 #3292 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1597-9716-9b3d7e68976b\main.spi
00:00:34 #3293 [Verbose] >
00:00:34 #3294 [Verbose] > ╭─[ 584.33ms - stdout ]────────────────────────────────────────────────────────╮
00:00:34 #3295 [Verbose] > │ type UH0 = │
00:00:34 #3296 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:34 #3297 [Verbose] > │ * float * UH0 │
00:00:34 #3298 [Verbose] > │ | UH0_1 │
00:00:34 #3299 [Verbose] > │ and UH1 = │
00:00:34 #3300 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:34 #3301 [Verbose] > │ | UH1_1 │
00:00:34 #3302 [Verbose] > │ let rec method3 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │
00:00:34 #3303 [Verbose] > │ v5 : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float │
00:00:34 #3304 [Verbose] > │ * float * float * float * float * float * float * float * float) = │
00:00:34 #3305 [Verbose] > │ let v10 : bool = v9 <= 0 │
00:00:34 #3306 [Verbose] > │ if v10 then │
00:00:34 #3307 [Verbose] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:34 #3308 [Verbose] > │ else │
00:00:34 #3309 [Verbose] > │ let v11 : float = v6 * v6 │
00:00:34 #3310 [Verbose] > │ let v12 : float = v7 * v7 │
00:00:34 #3311 [Verbose] > │ let v13 : float = v11 + v12 │
00:00:34 #3312 [Verbose] > │ let v14 : float = v8 * v8 │
00:00:34 #3313 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:34 #3314 [Verbose] > │ let v16 : float = sqrt v15 │
00:00:34 #3315 [Verbose] > │ let v17 : float = -0.0007902794129829633 * v16 │
00:00:34 #3316 [Verbose] > │ let v18 : float = v17 * v6 │
00:00:34 #3317 [Verbose] > │ let v19 : float = v17 * v7 │
00:00:34 #3318 [Verbose] > │ let v20 : float = v17 * v8 │
00:00:34 #3319 [Verbose] > │ let v21 : float = -v1 │
00:00:34 #3320 [Verbose] > │ let v22 : float = v21 * 9.80665 │
00:00:34 #3321 [Verbose] > │ let v23 : float = v22 * 0.0 │
00:00:34 #3322 [Verbose] > │ let v24 : float = v23 + v18 │
00:00:34 #3323 [Verbose] > │ let v25 : float = v23 + v19 │
00:00:34 #3324 [Verbose] > │ let v26 : float = v22 + v20 │
00:00:34 #3325 [Verbose] > │ let v27 : float = v24 / v1 │
00:00:34 #3326 [Verbose] > │ let v28 : float = v25 / v1 │
00:00:34 #3327 [Verbose] > │ let v29 : float = v26 / v1 │
00:00:34 #3328 [Verbose] > │ let v30 : float = 0.01 * v27 │
00:00:34 #3329 [Verbose] > │ let v31 : float = 0.01 * v28 │
00:00:34 #3330 [Verbose] > │ let v32 : float = 0.01 * v29 │
00:00:34 #3331 [Verbose] > │ let v33 : float = v6 + v30 │
00:00:34 #3332 [Verbose] > │ let v34 : float = v7 + v31 │
00:00:34 #3333 [Verbose] > │ let v35 : float = v8 + v32 │
00:00:34 #3334 [Verbose] > │ let v36 : float = v5 + 0.01 │
00:00:34 #3335 [Verbose] > │ let v37 : float = 0.01 * v33 │
00:00:34 #3336 [Verbose] > │ let v38 : float = 0.01 * v34 │
00:00:34 #3337 [Verbose] > │ let v39 : float = 0.01 * v35 │
00:00:34 #3338 [Verbose] > │ let v40 : float = v2 + v37 │
00:00:34 #3339 [Verbose] > │ let v41 : float = v3 + v38 │
00:00:34 #3340 [Verbose] > │ let v42 : float = v4 + v39 │
00:00:34 #3341 [Verbose] > │ let v43 : int32 = v9 - 1 │
00:00:34 #3342 [Verbose] > │ method3(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
00:00:34 #3343 [Verbose] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:34 #3344 [Verbose] > │ match v0 with │
00:00:34 #3345 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3346 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:34 #3347 [Verbose] > │ method4(v11, v12) │
00:00:34 #3348 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3349 [Verbose] > │ v1 │
00:00:34 #3350 [Verbose] > │ and method2 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
00:00:34 #3351 [Verbose] > │ let v4 : float = 0.0 │
00:00:34 #3352 [Verbose] > │ let v5 : float = 0.145 │
00:00:34 #3353 [Verbose] > │ let v6 : float = 0.0 │
00:00:34 #3354 [Verbose] > │ let v7 : float = 0.0 │
00:00:34 #3355 [Verbose] > │ let v8 : float = 0.0 │
00:00:34 #3356 [Verbose] > │ let v9 : float = 0.0 │
00:00:34 #3357 [Verbose] > │ let v10 : float = 0.0 │
00:00:34 #3358 [Verbose] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
00:00:34 #3359 [Verbose] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method3(v4, v5, │
00:00:34 #3360 [Verbose] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
00:00:34 #3361 [Verbose] > │ let v20 : bool = v15 >= 0.0 │
00:00:34 #3362 [Verbose] > │ if v20 then │
00:00:34 #3363 [Verbose] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
00:00:34 #3364 [Verbose] > │ v2) │
00:00:34 #3365 [Verbose] > │ let v22 : int32 = v3 + 1 │
00:00:34 #3366 [Verbose] > │ method2(v0, v1, v21, v22) │
00:00:34 #3367 [Verbose] > │ else │
00:00:34 #3368 [Verbose] > │ let v24 : UH0 = UH0_1 │
00:00:34 #3369 [Verbose] > │ method4(v2, v24) │
00:00:34 #3370 [Verbose] > │ and method5 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:34 #3371 [Verbose] > │ match v0 with │
00:00:34 #3372 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:34 #3373 [Verbose] > │ let v12 : UH1 = method5(v11, v1) │
00:00:34 #3374 [Verbose] > │ UH1_0(v5, v6, v12) │
00:00:34 #3375 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:34 #3376 [Verbose] > │ v1 │
00:00:34 #3377 [Verbose] > │ and method6 (v0 : UH1, v1 : float) : float = │
00:00:34 #3378 [Verbose] > │ match v0 with │
00:00:34 #3379 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
00:00:34 #3380 [Verbose] > │ method6(v4, v2) │
00:00:34 #3381 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:34 #3382 [Verbose] > │ v1 │
00:00:34 #3383 [Verbose] > │ and method1 (v0 : float, v1 : float, v2 : float) : struct (float * float) = │
00:00:34 #3384 [Verbose] > │ let v3 : bool = v0 > 60.0 │
00:00:34 #3385 [Verbose] > │ if v3 then │
00:00:34 #3386 [Verbose] > │ struct (v2, v1) │
00:00:34 #3387 [Verbose] > │ else │
00:00:34 #3388 [Verbose] > │ let v4 : float = v0 * 3.141592653589793 │
00:00:34 #3389 [Verbose] > │ let v5 : float = v4 / 180.0 │
00:00:34 #3390 [Verbose] > │ let v6 : float = cos v5 │
00:00:34 #3391 [Verbose] > │ let v7 : float = 45.0 * v6 │
00:00:34 #3392 [Verbose] > │ let v8 : float = sin v5 │
00:00:34 #3393 [Verbose] > │ let v9 : float = 45.0 * v8 │
00:00:34 #3394 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:34 #3395 [Verbose] > │ let v11 : int32 = 0 │
00:00:34 #3396 [Verbose] > │ let v12 : UH0 = method2(v7, v9, v10, v11) │
00:00:34 #3397 [Verbose] > │ let v13 : UH1 = UH1_1 │
00:00:34 #3398 [Verbose] > │ let v14 : UH1 = method5(v12, v13) │
00:00:34 #3399 [Verbose] > │ let v15 : float = 0.0 │
00:00:34 #3400 [Verbose] > │ let v16 : float = method6(v14, v15) │
00:00:34 #3401 [Verbose] > │ let v17 : float = v0 + 1.0 │
00:00:34 #3402 [Verbose] > │ let v18 : bool = v16 > v2 │
00:00:34 #3403 [Verbose] > │ let struct (v19 : float, v20 : float) = │
00:00:34 #3404 [Verbose] > │ if v18 then │
00:00:34 #3405 [Verbose] > │ struct (v16, v0) │
00:00:34 #3406 [Verbose] > │ else │
00:00:34 #3407 [Verbose] > │ struct (v2, v1) │
00:00:34 #3408 [Verbose] > │ method1(v17, v20, v19) │
00:00:34 #3409 [Verbose] > │ and method0 () : unit = │
00:00:34 #3410 [Verbose] > │ let v0 : float = 30.0 │
00:00:34 #3411 [Verbose] > │ let v1 : float = 0.0 │
00:00:34 #3412 [Verbose] > │ let v2 : float = 30.0 │
00:00:34 #3413 [Verbose] > │ let struct (v3 : float, v4 : float) = method1(v0, v2, v1) │
00:00:34 #3414 [Verbose] > │ let v5 : bool = v3 = 116.77499158246208 │
00:00:34 #3415 [Verbose] > │ let v7 : bool = │
00:00:34 #3416 [Verbose] > │ if v5 then │
00:00:34 #3417 [Verbose] > │ let v6 : bool = v4 = 41.0 │
00:00:34 #3418 [Verbose] > │ v6 │
00:00:34 #3419 [Verbose] > │ else │
00:00:34 #3420 [Verbose] > │ false │
00:00:34 #3421 [Verbose] > │ let v8 : string = $"_equal / actual: %A{struct (v3, v4)} / expected: │
00:00:34 #3422 [Verbose] > │ %A{struct (116.77499158246208, 41.0)}" │
00:00:34 #3423 [Verbose] > │ let v9 : bool = v7 = false │
00:00:34 #3424 [Verbose] > │ if v9 then │
00:00:34 #3425 [Verbose] > │ failwith<unit> v8 │
00:00:34 #3426 [Verbose] > │ method0() │
00:00:34 #3427 [Verbose] > │ │
00:00:35 #3428 [Verbose] > │ │
00:00:35 #3429 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3430 [Verbose] >
00:00:35 #3431 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:35 #3432 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:35 #3433 [Verbose] > │ ## relativity_ps │
00:00:35 #3434 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3435 [Verbose] >
00:00:35 #3436 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:35 #3437 [Verbose] > inl relativity_ps fs (st : particle_state) =
00:00:35 #3438 [Verbose] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:00:35 #3439 [Verbose] > inl c = 299792458
00:00:35 #3440 [Verbose] > inl u = st.velocity ^/ c
00:00:35 #3441 [Verbose] > inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass
00:00:35 #3442 [Verbose] > d_particle_state {
00:00:35 #3443 [Verbose] > dmdt = 0
00:00:35 #3444 [Verbose] > dqdt = 0
00:00:35 #3445 [Verbose] > dtdt = 1
00:00:35 #3446 [Verbose] > drdt = st.velocity
00:00:35 #3447 [Verbose] > dvdt = acc
00:00:35 #3448 [Verbose] > }
00:00:35 #3449 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1660-6074-6b202d5aba3b\main.spi
00:00:35 #3450 [Verbose] >
00:00:35 #3451 [Verbose] > ╭─[ 225.70ms - stdout ]────────────────────────────────────────────────────────╮
00:00:35 #3452 [Verbose] > │ () │
00:00:35 #3453 [Verbose] > │ │
00:00:35 #3454 [Verbose] > │ │
00:00:35 #3455 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3456 [Verbose] >
00:00:35 #3457 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:35 #3458 [Verbose] > // // test
00:00:35 #3459 [Verbose] >
00:00:35 #3460 [Verbose] > inl year = 365.25 * 24 * 60 * 60
00:00:35 #3461 [Verbose] > inl c = 299792458
00:00:35 #3462 [Verbose] > inl ~method = runge_kutta_4 100000
00:00:35 #3463 [Verbose] > inl forces = [[ fun _ => 10 *^ i_hat () ]]
00:00:35 #3464 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:35 #3465 [Verbose] > inl initial_state =
00:00:35 #3466 [Verbose] > particle_state { default_particle_state' with
00:00:35 #3467 [Verbose] > mass = 1
00:00:35 #3468 [Verbose] > }
00:00:35 #3469 [Verbose] >
00:00:35 #3470 [Verbose] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:00:35 #3471 [Verbose] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:00:35 #3472 [Verbose] >
00:00:35 #3473 [Verbose] > inl newton_x, newton_y =
00:00:35 #3474 [Verbose] > newton_states
00:00:35 #3475 [Verbose] > >> Some
00:00:35 #3476 [Verbose] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:00:35 #3477 [Verbose] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:00:35 #3478 [Verbose] > |> listm'.unzip
00:00:35 #3479 [Verbose] >
00:00:35 #3480 [Verbose] > inl _, relativity_y =
00:00:35 #3481 [Verbose] > relativity_states
00:00:35 #3482 [Verbose] > >> Some
00:00:35 #3483 [Verbose] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:00:35 #3484 [Verbose] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:00:35 #3485 [Verbose] > |> listm'.unzip
00:00:35 #3486 [Verbose] >
00:00:35 #3487 [Verbose] > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:00:35 #3488 [Verbose] > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:00:35 #3489 [Verbose] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:00:35 #3490 [Verbose] >
00:00:35 #3491 [Verbose] > "response to a constant force",
00:00:35 #3492 [Verbose] > "time (years)",
00:00:35 #3493 [Verbose] > "velocity (multiples of c)",
00:00:35 #3494 [Verbose] > ;[[
00:00:35 #3495 [Verbose] > "newtonian", newton_x, newton_y
00:00:35 #3496 [Verbose] > "relativistic", newton_x, relativity_y
00:00:35 #3497 [Verbose] > ]]
00:00:35 #3498 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1683-8340-89a734d5aa69\main.spi
00:00:35 #3499 [Verbose] >
00:00:35 #3500 [Verbose] > ╭─[ 617.85ms - return value ]──────────────────────────────────────────────────╮
00:00:35 #3501 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:35 #3502 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:35 #3503 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:35 #3504 [Verbose] > │ stroke="none"/> │
00:00:35 #3505 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:35 #3506 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:35 #3507 [Verbose] > │ fill="#FFFFFF"> │
00:00:35 #3508 [Verbose] > │ response to a constant force │
00:00:35 #3509 [Verbose] > │ </text> │
00:00:35 #3510 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:35 #3511 [Verbose] > │ y2="75"/> │
00:00:35 #3512 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:35 #3513 [Verbose] > │ y2="75"/> │
00:00:35 #3514 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:35 #3515 [Verbose] > │ y2="75"/> │
00:00:35 #3516 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:35 #3517 [Verbose] > │ y2="75"/> │
00:00:35 #3518 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1=... │
00:00:35 #3519 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:35 #3520 [Verbose] >
00:00:35 #3521 [Verbose] > ╭─[ 632.13ms - stdout ]────────────────────────────────────────────────────────╮
00:00:35 #3522 [Verbose] > │ type UH0 = │
00:00:35 #3523 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:35 #3524 [Verbose] > │ * float * UH0 │
00:00:35 #3525 [Verbose] > │ | UH0_1 │
00:00:35 #3526 [Verbose] > │ and UH1 = │
00:00:35 #3527 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:35 #3528 [Verbose] > │ | UH1_1 │
00:00:35 #3529 [Verbose] > │ and UH2 = │
00:00:35 #3530 [Verbose] > │ | UH2_0 of float * UH2 │
00:00:35 #3531 [Verbose] > │ | UH2_1 │
00:00:35 #3532 [Verbose] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
00:00:35 #3533 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:35 #3534 [Verbose] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
00:00:35 #3535 [Verbose] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
00:00:35 #3536 [Verbose] > │ float) : struct (float * float * float * float * float * float * float * │
00:00:35 #3537 [Verbose] > │ float * float) = │
00:00:35 #3538 [Verbose] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
00:00:35 #3539 [Verbose] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
00:00:35 #3540 [Verbose] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:35 #3541 [Verbose] > │ let v19 : float = v15 * 50000.0 │
00:00:35 #3542 [Verbose] > │ let v20 : float = v6 + v19 │
00:00:35 #3543 [Verbose] > │ let v21 : float = 50000.0 * v12 │
00:00:35 #3544 [Verbose] > │ let v22 : float = 50000.0 * v13 │
00:00:35 #3545 [Verbose] > │ let v23 : float = 50000.0 * v14 │
00:00:35 #3546 [Verbose] > │ let v24 : float = v3 + v21 │
00:00:35 #3547 [Verbose] > │ let v25 : float = v4 + v22 │
00:00:35 #3548 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:35 #3549 [Verbose] > │ let v27 : float = 50000.0 * v16 │
00:00:35 #3550 [Verbose] > │ let v28 : float = 50000.0 * v17 │
00:00:35 #3551 [Verbose] > │ let v29 : float = 50000.0 * v18 │
00:00:35 #3552 [Verbose] > │ let v30 : float = v7 + v27 │
00:00:35 #3553 [Verbose] > │ let v31 : float = v8 + v28 │
00:00:35 #3554 [Verbose] > │ let v32 : float = v9 + v29 │
00:00:35 #3555 [Verbose] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
00:00:35 #3556 [Verbose] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
00:00:35 #3557 [Verbose] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
00:00:35 #3558 [Verbose] > │ let v42 : float = v38 * 50000.0 │
00:00:35 #3559 [Verbose] > │ let v43 : float = v6 + v42 │
00:00:35 #3560 [Verbose] > │ let v44 : float = 50000.0 * v35 │
00:00:35 #3561 [Verbose] > │ let v45 : float = 50000.0 * v36 │
00:00:35 #3562 [Verbose] > │ let v46 : float = 50000.0 * v37 │
00:00:35 #3563 [Verbose] > │ let v47 : float = v3 + v44 │
00:00:35 #3564 [Verbose] > │ let v48 : float = v4 + v45 │
00:00:35 #3565 [Verbose] > │ let v49 : float = v5 + v46 │
00:00:35 #3566 [Verbose] > │ let v50 : float = 50000.0 * v39 │
00:00:35 #3567 [Verbose] > │ let v51 : float = 50000.0 * v40 │
00:00:35 #3568 [Verbose] > │ let v52 : float = 50000.0 * v41 │
00:00:35 #3569 [Verbose] > │ let v53 : float = v7 + v50 │
00:00:35 #3570 [Verbose] > │ let v54 : float = v8 + v51 │
00:00:35 #3571 [Verbose] > │ let v55 : float = v9 + v52 │
00:00:35 #3572 [Verbose] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
00:00:35 #3573 [Verbose] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
00:00:35 #3574 [Verbose] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
00:00:35 #3575 [Verbose] > │ let v65 : float = v61 * 100000.0 │
00:00:35 #3576 [Verbose] > │ let v66 : float = v6 + v65 │
00:00:35 #3577 [Verbose] > │ let v67 : float = 100000.0 * v58 │
00:00:35 #3578 [Verbose] > │ let v68 : float = 100000.0 * v59 │
00:00:35 #3579 [Verbose] > │ let v69 : float = 100000.0 * v60 │
00:00:35 #3580 [Verbose] > │ let v70 : float = v3 + v67 │
00:00:35 #3581 [Verbose] > │ let v71 : float = v4 + v68 │
00:00:35 #3582 [Verbose] > │ let v72 : float = v5 + v69 │
00:00:35 #3583 [Verbose] > │ let v73 : float = 100000.0 * v62 │
00:00:35 #3584 [Verbose] > │ let v74 : float = 100000.0 * v63 │
00:00:35 #3585 [Verbose] > │ let v75 : float = 100000.0 * v64 │
00:00:35 #3586 [Verbose] > │ let v76 : float = v7 + v73 │
00:00:35 #3587 [Verbose] > │ let v77 : float = v8 + v74 │
00:00:35 #3588 [Verbose] > │ let v78 : float = v9 + v75 │
00:00:35 #3589 [Verbose] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
00:00:35 #3590 [Verbose] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
00:00:35 #3591 [Verbose] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
00:00:35 #3592 [Verbose] > │ let v88 : float = v10 + v33 │
00:00:35 #3593 [Verbose] > │ let v89 : float = v11 + v34 │
00:00:35 #3594 [Verbose] > │ let v90 : float = v15 + v38 │
00:00:35 #3595 [Verbose] > │ let v91 : float = v12 + v35 │
00:00:35 #3596 [Verbose] > │ let v92 : float = v13 + v36 │
00:00:35 #3597 [Verbose] > │ let v93 : float = v14 + v37 │
00:00:35 #3598 [Verbose] > │ let v94 : float = v16 + v39 │
00:00:35 #3599 [Verbose] > │ let v95 : float = v17 + v40 │
00:00:35 #3600 [Verbose] > │ let v96 : float = v18 + v41 │
00:00:35 #3601 [Verbose] > │ let v97 : float = v88 + v33 │
00:00:35 #3602 [Verbose] > │ let v98 : float = v89 + v34 │
00:00:35 #3603 [Verbose] > │ let v99 : float = v90 + v38 │
00:00:35 #3604 [Verbose] > │ let v100 : float = v91 + v35 │
00:00:35 #3605 [Verbose] > │ let v101 : float = v92 + v36 │
00:00:35 #3606 [Verbose] > │ let v102 : float = v93 + v37 │
00:00:35 #3607 [Verbose] > │ let v103 : float = v94 + v39 │
00:00:35 #3608 [Verbose] > │ let v104 : float = v95 + v40 │
00:00:35 #3609 [Verbose] > │ let v105 : float = v96 + v41 │
00:00:35 #3610 [Verbose] > │ let v106 : float = v97 + v56 │
00:00:35 #3611 [Verbose] > │ let v107 : float = v98 + v57 │
00:00:35 #3612 [Verbose] > │ let v108 : float = v99 + v61 │
00:00:35 #3613 [Verbose] > │ let v109 : float = v100 + v58 │
00:00:35 #3614 [Verbose] > │ let v110 : float = v101 + v59 │
00:00:35 #3615 [Verbose] > │ let v111 : float = v102 + v60 │
00:00:35 #3616 [Verbose] > │ let v112 : float = v103 + v62 │
00:00:35 #3617 [Verbose] > │ let v113 : float = v104 + v63 │
00:00:35 #3618 [Verbose] > │ let v114 : float = v105 + v64 │
00:00:35 #3619 [Verbose] > │ let v115 : float = v106 + v56 │
00:00:35 #3620 [Verbose] > │ let v116 : float = v107 + v57 │
00:00:35 #3621 [Verbose] > │ let v117 : float = v108 + v61 │
00:00:35 #3622 [Verbose] > │ let v118 : float = v109 + v58 │
00:00:35 #3623 [Verbose] > │ let v119 : float = v110 + v59 │
00:00:35 #3624 [Verbose] > │ let v120 : float = v111 + v60 │
00:00:35 #3625 [Verbose] > │ let v121 : float = v112 + v62 │
00:00:35 #3626 [Verbose] > │ let v122 : float = v113 + v63 │
00:00:35 #3627 [Verbose] > │ let v123 : float = v114 + v64 │
00:00:35 #3628 [Verbose] > │ let v124 : float = v115 + v79 │
00:00:35 #3629 [Verbose] > │ let v125 : float = v116 + v80 │
00:00:35 #3630 [Verbose] > │ let v126 : float = v117 + v84 │
00:00:35 #3631 [Verbose] > │ let v127 : float = v118 + v81 │
00:00:35 #3632 [Verbose] > │ let v128 : float = v119 + v82 │
00:00:35 #3633 [Verbose] > │ let v129 : float = v120 + v83 │
00:00:35 #3634 [Verbose] > │ let v130 : float = v121 + v85 │
00:00:35 #3635 [Verbose] > │ let v131 : float = v122 + v86 │
00:00:35 #3636 [Verbose] > │ let v132 : float = v123 + v87 │
00:00:35 #3637 [Verbose] > │ let v133 : float = v126 * 16666.666666666668 │
00:00:35 #3638 [Verbose] > │ let v134 : float = v6 + v133 │
00:00:35 #3639 [Verbose] > │ let v135 : float = 16666.666666666668 * v127 │
00:00:35 #3640 [Verbose] > │ let v136 : float = 16666.666666666668 * v128 │
00:00:35 #3641 [Verbose] > │ let v137 : float = 16666.666666666668 * v129 │
00:00:35 #3642 [Verbose] > │ let v138 : float = v3 + v135 │
00:00:35 #3643 [Verbose] > │ let v139 : float = v4 + v136 │
00:00:35 #3644 [Verbose] > │ let v140 : float = v5 + v137 │
00:00:35 #3645 [Verbose] > │ let v141 : float = 16666.666666666668 * v130 │
00:00:35 #3646 [Verbose] > │ let v142 : float = 16666.666666666668 * v131 │
00:00:35 #3647 [Verbose] > │ let v143 : float = 16666.666666666668 * v132 │
00:00:35 #3648 [Verbose] > │ let v144 : float = v7 + v141 │
00:00:35 #3649 [Verbose] > │ let v145 : float = v8 + v142 │
00:00:35 #3650 [Verbose] > │ let v146 : float = v9 + v143 │
00:00:35 #3651 [Verbose] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
00:00:35 #3652 [Verbose] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
00:00:35 #3653 [Verbose] > │ * float * float * float) -> struct (float * float * float * float * float * │
00:00:35 #3654 [Verbose] > │ float * float * float * float))) : (struct (float * float * float * float * │
00:00:35 #3655 [Verbose] > │ float * float * float * float * float) -> struct (float * float * float * │
00:00:35 #3656 [Verbose] > │ float * float * float * float * float * float)) = │
00:00:35 #3657 [Verbose] > │ closure1(v0) │
00:00:35 #3658 [Verbose] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:35 #3659 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:35 #3660 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:35 #3661 [Verbose] > │ let v9 : float = 10.0 / v1 │
00:00:35 #3662 [Verbose] > │ let v10 : float = 0.0 / v1 │
00:00:35 #3663 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v9, v10, v10) │
00:00:35 #3664 [Verbose] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:35 #3665 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:35 #3666 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:35 #3667 [Verbose] > │ let v9 : float = v6 / 299792458.0 │
00:00:35 #3668 [Verbose] > │ let v10 : float = v7 / 299792458.0 │
00:00:35 #3669 [Verbose] > │ let v11 : float = v8 / 299792458.0 │
00:00:35 #3670 [Verbose] > │ let v12 : float = v9 * v9 │
00:00:35 #3671 [Verbose] > │ let v13 : float = v10 * v10 │
00:00:35 #3672 [Verbose] > │ let v14 : float = v12 + v13 │
00:00:35 #3673 [Verbose] > │ let v15 : float = v11 * v11 │
00:00:35 #3674 [Verbose] > │ let v16 : float = v14 + v15 │
00:00:35 #3675 [Verbose] > │ let v17 : float = 1.0 - v16 │
00:00:35 #3676 [Verbose] > │ let v18 : float = sqrt v17 │
00:00:35 #3677 [Verbose] > │ let v19 : float = 10.0 * v9 │
00:00:35 #3678 [Verbose] > │ let v20 : float = 0.0 * v10 │
00:00:35 #3679 [Verbose] > │ let v21 : float = v19 + v20 │
00:00:35 #3680 [Verbose] > │ let v22 : float = 0.0 * v11 │
00:00:35 #3681 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:35 #3682 [Verbose] > │ let v24 : float = v23 * v9 │
00:00:35 #3683 [Verbose] > │ let v25 : float = v23 * v10 │
00:00:35 #3684 [Verbose] > │ let v26 : float = v23 * v11 │
00:00:35 #3685 [Verbose] > │ let v27 : float = -1.0 * v24 │
00:00:35 #3686 [Verbose] > │ let v28 : float = -1.0 * v25 │
00:00:35 #3687 [Verbose] > │ let v29 : float = -1.0 * v26 │
00:00:35 #3688 [Verbose] > │ let v30 : float = 10.0 + v27 │
00:00:35 #3689 [Verbose] > │ let v31 : float = v18 * v30 │
00:00:35 #3690 [Verbose] > │ let v32 : float = v18 * v28 │
00:00:35 #3691 [Verbose] > │ let v33 : float = v18 * v29 │
00:00:35 #3692 [Verbose] > │ let v34 : float = v31 / v1 │
00:00:35 #3693 [Verbose] > │ let v35 : float = v32 / v1 │
00:00:35 #3694 [Verbose] > │ let v36 : float = v33 / v1 │
00:00:35 #3695 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v34, v35, v36) │
00:00:35 #3696 [Verbose] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
00:00:35 #3697 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:35 #3698 [Verbose] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
00:00:35 #3699 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
00:00:35 #3700 [Verbose] > │ int32) : struct (float * float * float * float * float * float * float * │
00:00:35 #3701 [Verbose] > │ float * float) = │
00:00:35 #3702 [Verbose] > │ let v11 : bool = v10 <= 0 │
00:00:35 #3703 [Verbose] > │ if v11 then │
00:00:35 #3704 [Verbose] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:35 #3705 [Verbose] > │ else │
00:00:35 #3706 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:35 #3707 [Verbose] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
00:00:35 #3708 [Verbose] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:35 #3709 [Verbose] > │ let v21 : int32 = v10 - 1 │
00:00:35 #3710 [Verbose] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
00:00:35 #3711 [Verbose] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:35 #3712 [Verbose] > │ match v0 with │
00:00:35 #3713 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:35 #3714 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:35 #3715 [Verbose] > │ method3(v11, v12) │
00:00:35 #3716 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:35 #3717 [Verbose] > │ v1 │
00:00:35 #3718 [Verbose] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
00:00:35 #3719 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:35 #3720 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:35 #3721 [Verbose] > │ let v3 : float = 0.0 │
00:00:35 #3722 [Verbose] > │ let v4 : float = 1.0 │
00:00:35 #3723 [Verbose] > │ let v5 : float = 0.0 │
00:00:35 #3724 [Verbose] > │ let v6 : float = 0.0 │
00:00:35 #3725 [Verbose] > │ let v7 : float = 0.0 │
00:00:35 #3726 [Verbose] > │ let v8 : float = 0.0 │
00:00:35 #3727 [Verbose] > │ let v9 : float = 0.0 │
00:00:35 #3728 [Verbose] > │ let v10 : float = 0.0 │
00:00:35 #3729 [Verbose] > │ let v11 : float = 0.0 │
00:00:35 #3730 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:35 #3731 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:35 #3732 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:35 #3733 [Verbose] > │ let v21 : bool = v17 <= 31557600.0 │
00:00:35 #3734 [Verbose] > │ if v21 then │
00:00:35 #3735 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:35 #3736 [Verbose] > │ v1) │
00:00:35 #3737 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:35 #3738 [Verbose] > │ method1(v0, v22, v23) │
00:00:35 #3739 [Verbose] > │ else │
00:00:35 #3740 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:35 #3741 [Verbose] > │ method3(v1, v25) │
00:00:35 #3742 [Verbose] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:35 #3743 [Verbose] > │ match v0 with │
00:00:35 #3744 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:35 #3745 [Verbose] > │ let v12 : UH1 = method4(v11, v1) │
00:00:35 #3746 [Verbose] > │ let v13 : float = v7 / 31557600.0 │
00:00:35 #3747 [Verbose] > │ let v14 : float = v8 / 299792458.0 │
00:00:35 #3748 [Verbose] > │ UH1_0(v13, v14, v12) │
00:00:35 #3749 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:35 #3750 [Verbose] > │ v1 │
00:00:35 #3751 [Verbose] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
00:00:35 #3752 [Verbose] > │ match v0 with │
00:00:35 #3753 [Verbose] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
00:00:35 #3754 [Verbose] > │ let v6 : UH2 = UH2_0(v3, v1) │
00:00:35 #3755 [Verbose] > │ let v7 : UH2 = UH2_0(v4, v2) │
00:00:35 #3756 [Verbose] > │ method5(v5, v6, v7) │
00:00:35 #3757 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:35 #3758 [Verbose] > │ struct (v1, v2) │
00:00:35 #3759 [Verbose] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:35 #3760 [Verbose] > │ match v0 with │
00:00:35 #3761 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:35 #3762 [Verbose] > │ let v4 : UH2 = UH2_0(v2, v1) │
00:00:35 #3763 [Verbose] > │ method6(v3, v4) │
00:00:35 #3764 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:35 #3765 [Verbose] > │ v1 │
00:00:35 #3766 [Verbose] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
00:00:35 #3767 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:35 #3768 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:35 #3769 [Verbose] > │ let v3 : float = 0.0 │
00:00:35 #3770 [Verbose] > │ let v4 : float = 1.0 │
00:00:35 #3771 [Verbose] > │ let v5 : float = 0.0 │
00:00:35 #3772 [Verbose] > │ let v6 : float = 0.0 │
00:00:35 #3773 [Verbose] > │ let v7 : float = 0.0 │
00:00:35 #3774 [Verbose] > │ let v8 : float = 0.0 │
00:00:35 #3775 [Verbose] > │ let v9 : float = 0.0 │
00:00:35 #3776 [Verbose] > │ let v10 : float = 0.0 │
00:00:35 #3777 [Verbose] > │ let v11 : float = 0.0 │
00:00:35 #3778 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:35 #3779 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:35 #3780 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:35 #3781 [Verbose] > │ let v21 : bool = v17 <= 31557600.0 │
00:00:35 #3782 [Verbose] > │ if v21 then │
00:00:35 #3783 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:35 #3784 [Verbose] > │ v1) │
00:00:35 #3785 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:35 #3786 [Verbose] > │ method7(v0, v22, v23) │
00:00:35 #3787 [Verbose] > │ else │
00:00:35 #3788 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:35 #3789 [Verbose] > │ method3(v1, v25) │
00:00:35 #3790 [Verbose] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:35 #3791 [Verbose] > │ match v0 with │
00:00:35 #3792 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:35 #3793 [Verbose] > │ let v12 : UH1 = method8(v11, v1) │
00:00:35 #3794 [Verbose] > │ let v13 : float = v7 / 31557600.0 │
00:00:35 #3795 [Verbose] > │ let v14 : float = v8 / 299792458.0 │
00:00:35 #3796 [Verbose] > │ UH1_0(v13, v14, v12) │
00:00:35 #3797 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:35 #3798 [Verbose] > │ v1 │
00:00:35 #3799 [Verbose] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
00:00:35 #3800 [Verbose] > │ match v0 with │
00:00:35 #3801 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:35 #3802 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:35 #3803 [Verbose] > │ method10(v3, v4) │
00:00:35 #3804 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:35 #3805 [Verbose] > │ v1 │
00:00:35 #3806 [Verbose] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
00:00:35 #3807 [Verbose] > │ match v1 with │
00:00:35 #3808 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:35 #3809 [Verbose] > │ v0.[int v2] <- v3 │
00:00:35 #3810 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:35 #3811 [Verbose] > │ method11(v0, v4, v5) │
00:00:35 #3812 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:35 #3813 [Verbose] > │ v2 │
00:00:35 #3814 [Verbose] > │ and method9 (v0 : UH2) : (float []) = │
00:00:35 #3815 [Verbose] > │ let v1 : int32 = 0 │
00:00:35 #3816 [Verbose] > │ let v2 : int32 = method10(v0, v1) │
00:00:35 #3817 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:35 #3818 [Verbose] > │ let v4 : int32 = 0 │
00:00:35 #3819 [Verbose] > │ let v5 : int32 = method11(v3, v0, v4) │
00:00:35 #3820 [Verbose] > │ v3 │
00:00:35 #3821 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:35 #3822 [Verbose] > │ []) * (float [])) [])) = │
00:00:35 #3823 [Verbose] > │ let v0 : ((struct (float * float * float * float * float * float * float │
00:00:35 #3824 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:35 #3825 [Verbose] > │ float * float * float)) -> (struct (float * float * float * float * float * │
00:00:35 #3826 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:35 #3827 [Verbose] > │ float * float * float * float * float))) = closure0() │
00:00:35 #3828 [Verbose] > │ let v1 : (struct (float * float * float * float * float * float * float │
00:00:35 #3829 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:35 #3830 [Verbose] > │ float * float * float)) = closure2() │
00:00:35 #3831 [Verbose] > │ let v2 : (struct (float * float * float * float * float * float * float │
00:00:35 #3832 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:35 #3833 [Verbose] > │ float * float * float)) = v0 v1 │
00:00:35 #3834 [Verbose] > │ let v3 : (struct (float * float * float * float * float * float * float │
00:00:35 #3835 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:35 #3836 [Verbose] > │ float * float * float)) = closure3() │
00:00:35 #3837 [Verbose] > │ let v4 : (struct (float * float * float * float * float * float * float │
00:00:35 #3838 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:35 #3839 [Verbose] > │ float * float * float)) = v0 v3 │
00:00:35 #3840 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:35 #3841 [Verbose] > │ let v6 : int32 = 0 │
00:00:35 #3842 [Verbose] > │ let v7 : UH0 = method1(v2, v5, v6) │
00:00:35 #3843 [Verbose] > │ let v8 : UH1 = UH1_1 │
00:00:35 #3844 [Verbose] > │ let v9 : UH1 = method4(v7, v8) │
00:00:35 #3845 [Verbose] > │ let v10 : UH2 = UH2_1 │
00:00:35 #3846 [Verbose] > │ let v11 : UH2 = UH2_1 │
00:00:35 #3847 [Verbose] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
00:00:35 #3848 [Verbose] > │ let v14 : UH2 = UH2_1 │
00:00:35 #3849 [Verbose] > │ let v15 : UH2 = method6(v12, v14) │
00:00:35 #3850 [Verbose] > │ let v16 : UH2 = UH2_1 │
00:00:35 #3851 [Verbose] > │ let v17 : UH2 = method6(v13, v16) │
00:00:36 #3852 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:36 #3853 [Verbose] > │ let v19 : int32 = 0 │
00:00:36 #3854 [Verbose] > │ let v20 : UH0 = method7(v4, v18, v19) │
00:00:36 #3855 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:36 #3856 [Verbose] > │ let v22 : UH1 = method8(v20, v21) │
00:00:36 #3857 [Verbose] > │ let v23 : UH2 = UH2_1 │
00:00:36 #3858 [Verbose] > │ let v24 : UH2 = UH2_1 │
00:00:36 #3859 [Verbose] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
00:00:36 #3860 [Verbose] > │ let v27 : UH2 = UH2_1 │
00:00:36 #3861 [Verbose] > │ let v28 : UH2 = method6(v25, v27) │
00:00:36 #3862 [Verbose] > │ let v29 : UH2 = UH2_1 │
00:00:36 #3863 [Verbose] > │ let v30 : UH2 = method6(v26, v29) │
00:00:36 #3864 [Verbose] > │ let v31 : (float []) = method9(v15) │
00:00:36 #3865 [Verbose] > │ let v32 : (float []) = method9(v17) │
00:00:36 #3866 [Verbose] > │ let v33 : (float []) = method9(v30) │
00:00:36 #3867 [Verbose] > │ let v34 : string = "newtonian" │
00:00:36 #3868 [Verbose] > │ let v35 : string = "relativistic" │
00:00:36 #3869 [Verbose] > │ let v36 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:36 #3870 [Verbose] > │ (v34, v31, v32); struct (v35, v31, v33)|] │
00:00:36 #3871 [Verbose] > │ let v37 : string = "response to a constant force" │
00:00:36 #3872 [Verbose] > │ let v38 : string = "time (years)" │
00:00:36 #3873 [Verbose] > │ let v39 : string = "velocity (multiples of c)" │
00:00:36 #3874 [Verbose] > │ struct (v37, v38, v39, v36) │
00:00:36 #3875 [Verbose] > │ method0() │
00:00:36 #3876 [Verbose] > │ │
00:00:36 #3877 [Verbose] > │ │
00:00:36 #3878 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3879 [Verbose] >
00:00:36 #3880 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:36 #3881 [Verbose] > inl uniform_lorentz_force v_e v_b (st : particle_state) =
00:00:36 #3882 [Verbose] > st.charge *^ (v_e ^+^ st.velocity >< v_b)
00:00:36 #3883 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1761-6117-6397615514dd\main.spi
00:00:36 #3884 [Verbose] >
00:00:36 #3885 [Verbose] > ╭─[ 196.87ms - stdout ]────────────────────────────────────────────────────────╮
00:00:36 #3886 [Verbose] > │ () │
00:00:36 #3887 [Verbose] > │ │
00:00:36 #3888 [Verbose] > │ │
00:00:36 #3889 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3890 [Verbose] >
00:00:36 #3891 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:36 #3892 [Verbose] > // // test
00:00:36 #3893 [Verbose] >
00:00:36 #3894 [Verbose] > inl c : f64 = 299792458
00:00:36 #3895 [Verbose] > inl ~method = runge_kutta_4 0.000000001
00:00:36 #3896 [Verbose] > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]]
00:00:36 #3897 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:36 #3898 [Verbose] > inl initial_state =
00:00:36 #3899 [Verbose] > particle_state { default_particle_state' with
00:00:36 #3900 [Verbose] > mass = 0.000000000000000000000000001672621898
00:00:36 #3901 [Verbose] > charge = 0.0000000000000000001602176621
00:00:36 #3902 [Verbose] > velocity = 0.8 *^ (c *^ j_hat ())
00:00:36 #3903 [Verbose] > }
00:00:36 #3904 [Verbose] >
00:00:36 #3905 [Verbose] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:00:36 #3906 [Verbose] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:00:36 #3907 [Verbose] >
00:00:36 #3908 [Verbose] > inl newton_x, newton_y =
00:00:36 #3909 [Verbose] > newton_states
00:00:36 #3910 [Verbose] > >> Some
00:00:36 #3911 [Verbose] > |> seq.take_while_ (fun (particle_state st) i => i < 100i32)
00:00:36 #3912 [Verbose] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:00:36 #3913 [Verbose] > |> listm'.unzip
00:00:36 #3914 [Verbose] >
00:00:36 #3915 [Verbose] > inl relativity_x, relativity_y =
00:00:36 #3916 [Verbose] > relativity_states
00:00:36 #3917 [Verbose] > >> Some
00:00:36 #3918 [Verbose] > |> seq.take_while_ (fun (particle_state st) i => i < 165i32)
00:00:36 #3919 [Verbose] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:00:36 #3920 [Verbose] > |> listm'.unzip
00:00:36 #3921 [Verbose] >
00:00:36 #3922 [Verbose] > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:00:36 #3923 [Verbose] > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:00:36 #3924 [Verbose] >
00:00:36 #3925 [Verbose] > inl relativity_x : a i32 _ = relativity_x |> listm.toArray
00:00:36 #3926 [Verbose] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:00:36 #3927 [Verbose] >
00:00:36 #3928 [Verbose] > "proton in a 1-t magnetic field",
00:00:36 #3929 [Verbose] > "x (m)",
00:00:36 #3930 [Verbose] > "y (m)",
00:00:36 #3931 [Verbose] > ;[[
00:00:36 #3932 [Verbose] > "newtonian", newton_x, newton_y
00:00:36 #3933 [Verbose] > "relativistic", relativity_x, relativity_y
00:00:36 #3934 [Verbose] > ]]
00:00:36 #3935 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1780-8098-86221e403c05\main.spi
00:00:36 #3936 [Verbose] >
00:00:36 #3937 [Verbose] > ╭─[ 521.83ms - return value ]──────────────────────────────────────────────────╮
00:00:36 #3938 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:36 #3939 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:36 #3940 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:36 #3941 [Verbose] > │ stroke="none"/> │
00:00:36 #3942 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:36 #3943 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:36 #3944 [Verbose] > │ fill="#FFFFFF"> │
00:00:36 #3945 [Verbose] > │ proton in a 1-t magnetic field │
00:00:36 #3946 [Verbose] > │ </text> │
00:00:36 #3947 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │
00:00:36 #3948 [Verbose] > │ y2="75"/> │
00:00:36 #3949 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:36 #3950 [Verbose] > │ y2="75"/> │
00:00:36 #3951 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │
00:00:36 #3952 [Verbose] > │ y2="75"/> │
00:00:36 #3953 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:00:36 #3954 [Verbose] > │ y2="75"/> │
00:00:36 #3955 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x... │
00:00:36 #3956 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #3957 [Verbose] >
00:00:36 #3958 [Verbose] > ╭─[ 536.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:36 #3959 [Verbose] > │ type UH0 = │
00:00:36 #3960 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:36 #3961 [Verbose] > │ * float * UH0 │
00:00:36 #3962 [Verbose] > │ | UH0_1 │
00:00:36 #3963 [Verbose] > │ and UH1 = │
00:00:36 #3964 [Verbose] > │ | UH1_0 of float * float * UH1 │
00:00:36 #3965 [Verbose] > │ | UH1_1 │
00:00:36 #3966 [Verbose] > │ and UH2 = │
00:00:36 #3967 [Verbose] > │ | UH2_0 of float * UH2 │
00:00:36 #3968 [Verbose] > │ | UH2_1 │
00:00:36 #3969 [Verbose] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
00:00:36 #3970 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:36 #3971 [Verbose] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
00:00:36 #3972 [Verbose] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
00:00:36 #3973 [Verbose] > │ float) : struct (float * float * float * float * float * float * float * │
00:00:36 #3974 [Verbose] > │ float * float) = │
00:00:36 #3975 [Verbose] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
00:00:36 #3976 [Verbose] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
00:00:36 #3977 [Verbose] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #3978 [Verbose] > │ let v19 : float = v15 * 5E-10 │
00:00:36 #3979 [Verbose] > │ let v20 : float = v6 + v19 │
00:00:36 #3980 [Verbose] > │ let v21 : float = 5E-10 * v12 │
00:00:36 #3981 [Verbose] > │ let v22 : float = 5E-10 * v13 │
00:00:36 #3982 [Verbose] > │ let v23 : float = 5E-10 * v14 │
00:00:36 #3983 [Verbose] > │ let v24 : float = v3 + v21 │
00:00:36 #3984 [Verbose] > │ let v25 : float = v4 + v22 │
00:00:36 #3985 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:36 #3986 [Verbose] > │ let v27 : float = 5E-10 * v16 │
00:00:36 #3987 [Verbose] > │ let v28 : float = 5E-10 * v17 │
00:00:36 #3988 [Verbose] > │ let v29 : float = 5E-10 * v18 │
00:00:36 #3989 [Verbose] > │ let v30 : float = v7 + v27 │
00:00:36 #3990 [Verbose] > │ let v31 : float = v8 + v28 │
00:00:36 #3991 [Verbose] > │ let v32 : float = v9 + v29 │
00:00:36 #3992 [Verbose] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
00:00:36 #3993 [Verbose] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
00:00:36 #3994 [Verbose] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
00:00:36 #3995 [Verbose] > │ let v42 : float = v38 * 5E-10 │
00:00:36 #3996 [Verbose] > │ let v43 : float = v6 + v42 │
00:00:36 #3997 [Verbose] > │ let v44 : float = 5E-10 * v35 │
00:00:36 #3998 [Verbose] > │ let v45 : float = 5E-10 * v36 │
00:00:36 #3999 [Verbose] > │ let v46 : float = 5E-10 * v37 │
00:00:36 #4000 [Verbose] > │ let v47 : float = v3 + v44 │
00:00:36 #4001 [Verbose] > │ let v48 : float = v4 + v45 │
00:00:36 #4002 [Verbose] > │ let v49 : float = v5 + v46 │
00:00:36 #4003 [Verbose] > │ let v50 : float = 5E-10 * v39 │
00:00:36 #4004 [Verbose] > │ let v51 : float = 5E-10 * v40 │
00:00:36 #4005 [Verbose] > │ let v52 : float = 5E-10 * v41 │
00:00:36 #4006 [Verbose] > │ let v53 : float = v7 + v50 │
00:00:36 #4007 [Verbose] > │ let v54 : float = v8 + v51 │
00:00:36 #4008 [Verbose] > │ let v55 : float = v9 + v52 │
00:00:36 #4009 [Verbose] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
00:00:36 #4010 [Verbose] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
00:00:36 #4011 [Verbose] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
00:00:36 #4012 [Verbose] > │ let v65 : float = v61 * 1E-09 │
00:00:36 #4013 [Verbose] > │ let v66 : float = v6 + v65 │
00:00:36 #4014 [Verbose] > │ let v67 : float = 1E-09 * v58 │
00:00:36 #4015 [Verbose] > │ let v68 : float = 1E-09 * v59 │
00:00:36 #4016 [Verbose] > │ let v69 : float = 1E-09 * v60 │
00:00:36 #4017 [Verbose] > │ let v70 : float = v3 + v67 │
00:00:36 #4018 [Verbose] > │ let v71 : float = v4 + v68 │
00:00:36 #4019 [Verbose] > │ let v72 : float = v5 + v69 │
00:00:36 #4020 [Verbose] > │ let v73 : float = 1E-09 * v62 │
00:00:36 #4021 [Verbose] > │ let v74 : float = 1E-09 * v63 │
00:00:36 #4022 [Verbose] > │ let v75 : float = 1E-09 * v64 │
00:00:36 #4023 [Verbose] > │ let v76 : float = v7 + v73 │
00:00:36 #4024 [Verbose] > │ let v77 : float = v8 + v74 │
00:00:36 #4025 [Verbose] > │ let v78 : float = v9 + v75 │
00:00:36 #4026 [Verbose] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
00:00:36 #4027 [Verbose] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
00:00:36 #4028 [Verbose] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
00:00:36 #4029 [Verbose] > │ let v88 : float = v10 + v33 │
00:00:36 #4030 [Verbose] > │ let v89 : float = v11 + v34 │
00:00:36 #4031 [Verbose] > │ let v90 : float = v15 + v38 │
00:00:36 #4032 [Verbose] > │ let v91 : float = v12 + v35 │
00:00:36 #4033 [Verbose] > │ let v92 : float = v13 + v36 │
00:00:36 #4034 [Verbose] > │ let v93 : float = v14 + v37 │
00:00:36 #4035 [Verbose] > │ let v94 : float = v16 + v39 │
00:00:36 #4036 [Verbose] > │ let v95 : float = v17 + v40 │
00:00:36 #4037 [Verbose] > │ let v96 : float = v18 + v41 │
00:00:36 #4038 [Verbose] > │ let v97 : float = v88 + v33 │
00:00:36 #4039 [Verbose] > │ let v98 : float = v89 + v34 │
00:00:36 #4040 [Verbose] > │ let v99 : float = v90 + v38 │
00:00:36 #4041 [Verbose] > │ let v100 : float = v91 + v35 │
00:00:36 #4042 [Verbose] > │ let v101 : float = v92 + v36 │
00:00:36 #4043 [Verbose] > │ let v102 : float = v93 + v37 │
00:00:36 #4044 [Verbose] > │ let v103 : float = v94 + v39 │
00:00:36 #4045 [Verbose] > │ let v104 : float = v95 + v40 │
00:00:36 #4046 [Verbose] > │ let v105 : float = v96 + v41 │
00:00:36 #4047 [Verbose] > │ let v106 : float = v97 + v56 │
00:00:36 #4048 [Verbose] > │ let v107 : float = v98 + v57 │
00:00:36 #4049 [Verbose] > │ let v108 : float = v99 + v61 │
00:00:36 #4050 [Verbose] > │ let v109 : float = v100 + v58 │
00:00:36 #4051 [Verbose] > │ let v110 : float = v101 + v59 │
00:00:36 #4052 [Verbose] > │ let v111 : float = v102 + v60 │
00:00:36 #4053 [Verbose] > │ let v112 : float = v103 + v62 │
00:00:36 #4054 [Verbose] > │ let v113 : float = v104 + v63 │
00:00:36 #4055 [Verbose] > │ let v114 : float = v105 + v64 │
00:00:36 #4056 [Verbose] > │ let v115 : float = v106 + v56 │
00:00:36 #4057 [Verbose] > │ let v116 : float = v107 + v57 │
00:00:36 #4058 [Verbose] > │ let v117 : float = v108 + v61 │
00:00:36 #4059 [Verbose] > │ let v118 : float = v109 + v58 │
00:00:36 #4060 [Verbose] > │ let v119 : float = v110 + v59 │
00:00:36 #4061 [Verbose] > │ let v120 : float = v111 + v60 │
00:00:36 #4062 [Verbose] > │ let v121 : float = v112 + v62 │
00:00:36 #4063 [Verbose] > │ let v122 : float = v113 + v63 │
00:00:36 #4064 [Verbose] > │ let v123 : float = v114 + v64 │
00:00:36 #4065 [Verbose] > │ let v124 : float = v115 + v79 │
00:00:36 #4066 [Verbose] > │ let v125 : float = v116 + v80 │
00:00:36 #4067 [Verbose] > │ let v126 : float = v117 + v84 │
00:00:36 #4068 [Verbose] > │ let v127 : float = v118 + v81 │
00:00:36 #4069 [Verbose] > │ let v128 : float = v119 + v82 │
00:00:36 #4070 [Verbose] > │ let v129 : float = v120 + v83 │
00:00:36 #4071 [Verbose] > │ let v130 : float = v121 + v85 │
00:00:36 #4072 [Verbose] > │ let v131 : float = v122 + v86 │
00:00:36 #4073 [Verbose] > │ let v132 : float = v123 + v87 │
00:00:36 #4074 [Verbose] > │ let v133 : float = v126 * 1.6666666666666669E-10 │
00:00:36 #4075 [Verbose] > │ let v134 : float = v6 + v133 │
00:00:36 #4076 [Verbose] > │ let v135 : float = 1.6666666666666669E-10 * v127 │
00:00:36 #4077 [Verbose] > │ let v136 : float = 1.6666666666666669E-10 * v128 │
00:00:36 #4078 [Verbose] > │ let v137 : float = 1.6666666666666669E-10 * v129 │
00:00:36 #4079 [Verbose] > │ let v138 : float = v3 + v135 │
00:00:36 #4080 [Verbose] > │ let v139 : float = v4 + v136 │
00:00:36 #4081 [Verbose] > │ let v140 : float = v5 + v137 │
00:00:36 #4082 [Verbose] > │ let v141 : float = 1.6666666666666669E-10 * v130 │
00:00:36 #4083 [Verbose] > │ let v142 : float = 1.6666666666666669E-10 * v131 │
00:00:36 #4084 [Verbose] > │ let v143 : float = 1.6666666666666669E-10 * v132 │
00:00:36 #4085 [Verbose] > │ let v144 : float = v7 + v141 │
00:00:36 #4086 [Verbose] > │ let v145 : float = v8 + v142 │
00:00:36 #4087 [Verbose] > │ let v146 : float = v9 + v143 │
00:00:36 #4088 [Verbose] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
00:00:36 #4089 [Verbose] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
00:00:36 #4090 [Verbose] > │ * float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #4091 [Verbose] > │ float * float * float * float))) : (struct (float * float * float * float * │
00:00:36 #4092 [Verbose] > │ float * float * float * float * float) -> struct (float * float * float * │
00:00:36 #4093 [Verbose] > │ float * float * float * float * float * float)) = │
00:00:36 #4094 [Verbose] > │ closure1(v0) │
00:00:36 #4095 [Verbose] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #4096 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:36 #4097 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:36 #4098 [Verbose] > │ let v9 : float = v8 * 0.0 │
00:00:36 #4099 [Verbose] > │ let v10 : float = v7 - v9 │
00:00:36 #4100 [Verbose] > │ let v11 : float = v9 - v6 │
00:00:36 #4101 [Verbose] > │ let v12 : float = v6 * 0.0 │
00:00:36 #4102 [Verbose] > │ let v13 : float = v7 * 0.0 │
00:00:36 #4103 [Verbose] > │ let v14 : float = v12 - v13 │
00:00:36 #4104 [Verbose] > │ let v15 : float = v0 * v10 │
00:00:36 #4105 [Verbose] > │ let v16 : float = v0 * v11 │
00:00:36 #4106 [Verbose] > │ let v17 : float = v0 * v14 │
00:00:36 #4107 [Verbose] > │ let v18 : float = v15 / v1 │
00:00:36 #4108 [Verbose] > │ let v19 : float = v16 / v1 │
00:00:36 #4109 [Verbose] > │ let v20 : float = v17 / v1 │
00:00:36 #4110 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v18, v19, v20) │
00:00:36 #4111 [Verbose] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #4112 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:36 #4113 [Verbose] > │ float * float * float * float * float * float * float * float) = │
00:00:36 #4114 [Verbose] > │ let v9 : float = v8 * 0.0 │
00:00:36 #4115 [Verbose] > │ let v10 : float = v7 - v9 │
00:00:36 #4116 [Verbose] > │ let v11 : float = v9 - v6 │
00:00:36 #4117 [Verbose] > │ let v12 : float = v6 * 0.0 │
00:00:36 #4118 [Verbose] > │ let v13 : float = v7 * 0.0 │
00:00:36 #4119 [Verbose] > │ let v14 : float = v12 - v13 │
00:00:36 #4120 [Verbose] > │ let v15 : float = v0 * v10 │
00:00:36 #4121 [Verbose] > │ let v16 : float = v0 * v11 │
00:00:36 #4122 [Verbose] > │ let v17 : float = v0 * v14 │
00:00:36 #4123 [Verbose] > │ let v18 : float = v6 / 299792458.0 │
00:00:36 #4124 [Verbose] > │ let v19 : float = v7 / 299792458.0 │
00:00:36 #4125 [Verbose] > │ let v20 : float = v8 / 299792458.0 │
00:00:36 #4126 [Verbose] > │ let v21 : float = v18 * v18 │
00:00:36 #4127 [Verbose] > │ let v22 : float = v19 * v19 │
00:00:36 #4128 [Verbose] > │ let v23 : float = v21 + v22 │
00:00:36 #4129 [Verbose] > │ let v24 : float = v20 * v20 │
00:00:36 #4130 [Verbose] > │ let v25 : float = v23 + v24 │
00:00:36 #4131 [Verbose] > │ let v26 : float = 1.0 - v25 │
00:00:36 #4132 [Verbose] > │ let v27 : float = sqrt v26 │
00:00:36 #4133 [Verbose] > │ let v28 : float = v15 * v18 │
00:00:36 #4134 [Verbose] > │ let v29 : float = v16 * v19 │
00:00:36 #4135 [Verbose] > │ let v30 : float = v28 + v29 │
00:00:36 #4136 [Verbose] > │ let v31 : float = v17 * v20 │
00:00:36 #4137 [Verbose] > │ let v32 : float = v30 + v31 │
00:00:36 #4138 [Verbose] > │ let v33 : float = v32 * v18 │
00:00:36 #4139 [Verbose] > │ let v34 : float = v32 * v19 │
00:00:36 #4140 [Verbose] > │ let v35 : float = v32 * v20 │
00:00:36 #4141 [Verbose] > │ let v36 : float = -1.0 * v33 │
00:00:36 #4142 [Verbose] > │ let v37 : float = -1.0 * v34 │
00:00:36 #4143 [Verbose] > │ let v38 : float = -1.0 * v35 │
00:00:36 #4144 [Verbose] > │ let v39 : float = v15 + v36 │
00:00:36 #4145 [Verbose] > │ let v40 : float = v16 + v37 │
00:00:36 #4146 [Verbose] > │ let v41 : float = v17 + v38 │
00:00:36 #4147 [Verbose] > │ let v42 : float = v27 * v39 │
00:00:36 #4148 [Verbose] > │ let v43 : float = v27 * v40 │
00:00:36 #4149 [Verbose] > │ let v44 : float = v27 * v41 │
00:00:36 #4150 [Verbose] > │ let v45 : float = v42 / v1 │
00:00:36 #4151 [Verbose] > │ let v46 : float = v43 / v1 │
00:00:36 #4152 [Verbose] > │ let v47 : float = v44 / v1 │
00:00:36 #4153 [Verbose] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v45, v46, v47) │
00:00:36 #4154 [Verbose] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #4155 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #4156 [Verbose] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
00:00:36 #4157 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
00:00:36 #4158 [Verbose] > │ int32) : struct (float * float * float * float * float * float * float * │
00:00:36 #4159 [Verbose] > │ float * float) = │
00:00:36 #4160 [Verbose] > │ let v11 : bool = v10 <= 0 │
00:00:36 #4161 [Verbose] > │ if v11 then │
00:00:36 #4162 [Verbose] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #4163 [Verbose] > │ else │
00:00:36 #4164 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:36 #4165 [Verbose] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
00:00:36 #4166 [Verbose] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
00:00:36 #4167 [Verbose] > │ let v21 : int32 = v10 - 1 │
00:00:36 #4168 [Verbose] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
00:00:36 #4169 [Verbose] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:36 #4170 [Verbose] > │ match v0 with │
00:00:36 #4171 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #4172 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:36 #4173 [Verbose] > │ method3(v11, v12) │
00:00:36 #4174 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #4175 [Verbose] > │ v1 │
00:00:36 #4176 [Verbose] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #4177 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #4178 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:36 #4179 [Verbose] > │ let v3 : float = 1.602176621E-19 │
00:00:36 #4180 [Verbose] > │ let v4 : float = 1.672621898E-27 │
00:00:36 #4181 [Verbose] > │ let v5 : float = 0.0 │
00:00:36 #4182 [Verbose] > │ let v6 : float = 0.0 │
00:00:36 #4183 [Verbose] > │ let v7 : float = 0.0 │
00:00:36 #4184 [Verbose] > │ let v8 : float = 0.0 │
00:00:36 #4185 [Verbose] > │ let v9 : float = 0.0 │
00:00:36 #4186 [Verbose] > │ let v10 : float = 239833966.4 │
00:00:36 #4187 [Verbose] > │ let v11 : float = 0.0 │
00:00:36 #4188 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:36 #4189 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:36 #4190 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:36 #4191 [Verbose] > │ let v21 : bool = v2 < 100 │
00:00:36 #4192 [Verbose] > │ if v21 then │
00:00:36 #4193 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:36 #4194 [Verbose] > │ v1) │
00:00:36 #4195 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:36 #4196 [Verbose] > │ method1(v0, v22, v23) │
00:00:36 #4197 [Verbose] > │ else │
00:00:36 #4198 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:36 #4199 [Verbose] > │ method3(v1, v25) │
00:00:36 #4200 [Verbose] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:36 #4201 [Verbose] > │ match v0 with │
00:00:36 #4202 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #4203 [Verbose] > │ let v12 : UH1 = method4(v11, v1) │
00:00:36 #4204 [Verbose] > │ UH1_0(v4, v5, v12) │
00:00:36 #4205 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #4206 [Verbose] > │ v1 │
00:00:36 #4207 [Verbose] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
00:00:36 #4208 [Verbose] > │ match v0 with │
00:00:36 #4209 [Verbose] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
00:00:36 #4210 [Verbose] > │ let v6 : UH2 = UH2_0(v3, v1) │
00:00:36 #4211 [Verbose] > │ let v7 : UH2 = UH2_0(v4, v2) │
00:00:36 #4212 [Verbose] > │ method5(v5, v6, v7) │
00:00:36 #4213 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:36 #4214 [Verbose] > │ struct (v1, v2) │
00:00:36 #4215 [Verbose] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:36 #4216 [Verbose] > │ match v0 with │
00:00:36 #4217 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:36 #4218 [Verbose] > │ let v4 : UH2 = UH2_0(v2, v1) │
00:00:36 #4219 [Verbose] > │ method6(v3, v4) │
00:00:36 #4220 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #4221 [Verbose] > │ v1 │
00:00:36 #4222 [Verbose] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
00:00:36 #4223 [Verbose] > │ float * float * float) -> struct (float * float * float * float * float * │
00:00:36 #4224 [Verbose] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
00:00:36 #4225 [Verbose] > │ let v3 : float = 1.602176621E-19 │
00:00:36 #4226 [Verbose] > │ let v4 : float = 1.672621898E-27 │
00:00:36 #4227 [Verbose] > │ let v5 : float = 0.0 │
00:00:36 #4228 [Verbose] > │ let v6 : float = 0.0 │
00:00:36 #4229 [Verbose] > │ let v7 : float = 0.0 │
00:00:36 #4230 [Verbose] > │ let v8 : float = 0.0 │
00:00:36 #4231 [Verbose] > │ let v9 : float = 0.0 │
00:00:36 #4232 [Verbose] > │ let v10 : float = 239833966.4 │
00:00:36 #4233 [Verbose] > │ let v11 : float = 0.0 │
00:00:36 #4234 [Verbose] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
00:00:36 #4235 [Verbose] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
00:00:36 #4236 [Verbose] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
00:00:36 #4237 [Verbose] > │ let v21 : bool = v2 < 165 │
00:00:36 #4238 [Verbose] > │ if v21 then │
00:00:36 #4239 [Verbose] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
00:00:36 #4240 [Verbose] > │ v1) │
00:00:36 #4241 [Verbose] > │ let v23 : int32 = v2 + 1 │
00:00:36 #4242 [Verbose] > │ method7(v0, v22, v23) │
00:00:36 #4243 [Verbose] > │ else │
00:00:36 #4244 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:36 #4245 [Verbose] > │ method3(v1, v25) │
00:00:36 #4246 [Verbose] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:36 #4247 [Verbose] > │ match v0 with │
00:00:36 #4248 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:36 #4249 [Verbose] > │ let v12 : UH1 = method8(v11, v1) │
00:00:36 #4250 [Verbose] > │ UH1_0(v4, v5, v12) │
00:00:36 #4251 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:36 #4252 [Verbose] > │ v1 │
00:00:36 #4253 [Verbose] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
00:00:36 #4254 [Verbose] > │ match v0 with │
00:00:36 #4255 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:36 #4256 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:36 #4257 [Verbose] > │ method10(v3, v4) │
00:00:36 #4258 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #4259 [Verbose] > │ v1 │
00:00:36 #4260 [Verbose] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
00:00:36 #4261 [Verbose] > │ match v1 with │
00:00:36 #4262 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:36 #4263 [Verbose] > │ v0.[int v2] <- v3 │
00:00:36 #4264 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:36 #4265 [Verbose] > │ method11(v0, v4, v5) │
00:00:36 #4266 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:36 #4267 [Verbose] > │ v2 │
00:00:36 #4268 [Verbose] > │ and method9 (v0 : UH2) : (float []) = │
00:00:36 #4269 [Verbose] > │ let v1 : int32 = 0 │
00:00:36 #4270 [Verbose] > │ let v2 : int32 = method10(v0, v1) │
00:00:36 #4271 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:36 #4272 [Verbose] > │ let v4 : int32 = 0 │
00:00:36 #4273 [Verbose] > │ let v5 : int32 = method11(v3, v0, v4) │
00:00:36 #4274 [Verbose] > │ v3 │
00:00:36 #4275 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:36 #4276 [Verbose] > │ []) * (float [])) [])) = │
00:00:36 #4277 [Verbose] > │ let v0 : ((struct (float * float * float * float * float * float * float │
00:00:36 #4278 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #4279 [Verbose] > │ float * float * float)) -> (struct (float * float * float * float * float * │
00:00:36 #4280 [Verbose] > │ float * float * float * float) -> struct (float * float * float * float * │
00:00:36 #4281 [Verbose] > │ float * float * float * float * float))) = closure0() │
00:00:36 #4282 [Verbose] > │ let v1 : (struct (float * float * float * float * float * float * float │
00:00:36 #4283 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #4284 [Verbose] > │ float * float * float)) = closure2() │
00:00:36 #4285 [Verbose] > │ let v2 : (struct (float * float * float * float * float * float * float │
00:00:36 #4286 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #4287 [Verbose] > │ float * float * float)) = v0 v1 │
00:00:36 #4288 [Verbose] > │ let v3 : (struct (float * float * float * float * float * float * float │
00:00:36 #4289 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #4290 [Verbose] > │ float * float * float)) = closure3() │
00:00:36 #4291 [Verbose] > │ let v4 : (struct (float * float * float * float * float * float * float │
00:00:36 #4292 [Verbose] > │ * float * float) -> struct (float * float * float * float * float * float * │
00:00:36 #4293 [Verbose] > │ float * float * float)) = v0 v3 │
00:00:36 #4294 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:36 #4295 [Verbose] > │ let v6 : int32 = 0 │
00:00:36 #4296 [Verbose] > │ let v7 : UH0 = method1(v2, v5, v6) │
00:00:36 #4297 [Verbose] > │ let v8 : UH1 = UH1_1 │
00:00:36 #4298 [Verbose] > │ let v9 : UH1 = method4(v7, v8) │
00:00:36 #4299 [Verbose] > │ let v10 : UH2 = UH2_1 │
00:00:36 #4300 [Verbose] > │ let v11 : UH2 = UH2_1 │
00:00:36 #4301 [Verbose] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
00:00:36 #4302 [Verbose] > │ let v14 : UH2 = UH2_1 │
00:00:36 #4303 [Verbose] > │ let v15 : UH2 = method6(v12, v14) │
00:00:36 #4304 [Verbose] > │ let v16 : UH2 = UH2_1 │
00:00:36 #4305 [Verbose] > │ let v17 : UH2 = method6(v13, v16) │
00:00:36 #4306 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:36 #4307 [Verbose] > │ let v19 : int32 = 0 │
00:00:36 #4308 [Verbose] > │ let v20 : UH0 = method7(v4, v18, v19) │
00:00:36 #4309 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:36 #4310 [Verbose] > │ let v22 : UH1 = method8(v20, v21) │
00:00:36 #4311 [Verbose] > │ let v23 : UH2 = UH2_1 │
00:00:36 #4312 [Verbose] > │ let v24 : UH2 = UH2_1 │
00:00:36 #4313 [Verbose] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
00:00:36 #4314 [Verbose] > │ let v27 : UH2 = UH2_1 │
00:00:36 #4315 [Verbose] > │ let v28 : UH2 = method6(v25, v27) │
00:00:36 #4316 [Verbose] > │ let v29 : UH2 = UH2_1 │
00:00:36 #4317 [Verbose] > │ let v30 : UH2 = method6(v26, v29) │
00:00:36 #4318 [Verbose] > │ let v31 : (float []) = method9(v15) │
00:00:36 #4319 [Verbose] > │ let v32 : (float []) = method9(v17) │
00:00:36 #4320 [Verbose] > │ let v33 : (float []) = method9(v28) │
00:00:36 #4321 [Verbose] > │ let v34 : (float []) = method9(v30) │
00:00:36 #4322 [Verbose] > │ let v35 : string = "newtonian" │
00:00:36 #4323 [Verbose] > │ let v36 : string = "relativistic" │
00:00:36 #4324 [Verbose] > │ let v37 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:36 #4325 [Verbose] > │ (v35, v31, v32); struct (v36, v33, v34)|] │
00:00:36 #4326 [Verbose] > │ let v38 : string = "proton in a 1-t magnetic field" │
00:00:36 #4327 [Verbose] > │ let v39 : string = "x (m)" │
00:00:36 #4328 [Verbose] > │ let v40 : string = "y (m)" │
00:00:36 #4329 [Verbose] > │ struct (v38, v39, v40, v37) │
00:00:36 #4330 [Verbose] > │ method0() │
00:00:36 #4331 [Verbose] > │ │
00:00:36 #4332 [Verbose] > │ │
00:00:36 #4333 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #4334 [Verbose] >
00:00:36 #4335 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:36 #4336 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:36 #4337 [Verbose] > │ ### system kinetic energy versus time 1 │
00:00:36 #4338 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:36 #4339 [Verbose] >
00:00:36 #4340 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:36 #4341 [Verbose] > // // test
00:00:36 #4342 [Verbose] >
00:00:36 #4343 [Verbose] > inl central_force f (particle_state st1) (particle_state st2) =
00:00:36 #4344 [Verbose] > inl r1 = st1.pos_vec
00:00:36 #4345 [Verbose] > inl r2 = st2.pos_vec
00:00:36 #4346 [Verbose] > inl r21 = r2 ^-^ r1
00:00:36 #4347 [Verbose] > inl r21mag = magnitude r21
00:00:36 #4348 [Verbose] > f r21mag *^ r21 ^/ r21mag
00:00:36 #4349 [Verbose] >
00:00:36 #4350 [Verbose] > inl billiard_force k re =
00:00:36 #4351 [Verbose] > inl f r =
00:00:36 #4352 [Verbose] > if r >= re
00:00:36 #4353 [Verbose] > then 0
00:00:36 #4354 [Verbose] > else -k * (r - re)
00:00:36 #4355 [Verbose] > central_force f
00:00:36 #4356 [Verbose] >
00:00:36 #4357 [Verbose] > type force_vector = vec
00:00:36 #4358 [Verbose] > type two_body_force = particle_state -> particle_state -> force_vector
00:00:36 #4359 [Verbose] >
00:00:36 #4360 [Verbose] > union force =
00:00:36 #4361 [Verbose] > | ExternalForce : i32 * one_body_force
00:00:36 #4362 [Verbose] > | InternalForce : i32 * i32 * two_body_force
00:00:36 #4363 [Verbose] >
00:00:36 #4364 [Verbose] > nominal multi_particle_state = list particle_state
00:00:36 #4365 [Verbose] >
00:00:36 #4366 [Verbose] > nominal d_multi_particle_state = list d_particle_state
00:00:36 #4367 [Verbose] >
00:00:36 #4368 [Verbose] > inl force_on n sts force =
00:00:36 #4369 [Verbose] > match force with
00:00:36 #4370 [Verbose] > | ExternalForce (n0, f_one_body) =>
00:00:36 #4371 [Verbose] > if n = n0
00:00:36 #4372 [Verbose] > then f_one_body
00:00:36 #4373 [Verbose] > else fun _ => zero_vec ()
00:00:36 #4374 [Verbose] > | InternalForce (n0, n1, f_two_body) =>
00:00:36 #4375 [Verbose] > if n = n0
00:00:36 #4376 [Verbose] > then f_two_body (sts |> listm'.item n1)
00:00:36 #4377 [Verbose] > elif n = n1
00:00:36 #4378 [Verbose] > then f_two_body (sts |> listm'.item n0)
00:00:36 #4379 [Verbose] > else fun _ => zero_vec ()
00:00:36 #4380 [Verbose] >
00:00:36 #4381 [Verbose] > inl forces_on n (multi_particle_state sts) fs =
00:00:36 #4382 [Verbose] > fs |> listm.map (force_on n sts)
00:00:36 #4383 [Verbose] >
00:00:36 #4384 [Verbose] > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state =
00:00:36 #4385 [Verbose] > inl deriv (n, st) =
00:00:36 #4386 [Verbose] > newton_second_ps (forces_on n (multi_particle_state sts) fs) st
00:00:36 #4387 [Verbose] > sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state
00:00:36 #4388 [Verbose] >
00:00:36 #4389 [Verbose] > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1)
00:00:36 #4390 [Verbose] > (d_multi_particle_state dsts2) =>
00:00:36 #4391 [Verbose] > d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2)
00:00:36 #4392 [Verbose] >
00:00:36 #4393 [Verbose] > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
00:00:36 #4394 [Verbose] > d_multi_particle_state (dsts |> listm.map (scale w))
00:00:36 #4395 [Verbose] >
00:00:36 #4396 [Verbose] > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
00:00:36 #4397 [Verbose] > inl (d_multi_particle_state dsts) =
00:00:36 #4398 [Verbose] > real
00:00:36 #4399 [Verbose] > match dsts with
00:00:36 #4400 [Verbose] > | d_multi_particle_state _ => dsts
00:00:36 #4401 [Verbose] > listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state
00:00:36 #4402 [Verbose] >
00:00:36 #4403 [Verbose] > inl euler_cromer_mps dt : numerical_method multi_particle_state
00:00:36 #4404 [Verbose] > d_multi_particle_state =
00:00:36 #4405 [Verbose] > fun deriv mpst0 =>
00:00:36 #4406 [Verbose] > inl mpst1 = euler dt deriv mpst0
00:00:36 #4407 [Verbose] > inl (multi_particle_state sts0) = mpst0
00:00:36 #4408 [Verbose] > inl (multi_particle_state sts1) = mpst1
00:00:36 #4409 [Verbose] > sts1
00:00:36 #4410 [Verbose] > |> listm'.zip_ sts0
00:00:36 #4411 [Verbose] > |> listm.map (fun ((particle_state st0), (particle_state st1)) =>
00:00:36 #4412 [Verbose] > particle_state {
00:00:36 #4413 [Verbose] > st1 with
00:00:36 #4414 [Verbose] > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
00:00:36 #4415 [Verbose] > }
00:00:36 #4416 [Verbose] > )
00:00:36 #4417 [Verbose] > |> multi_particle_state
00:00:36 #4418 [Verbose] >
00:00:36 #4419 [Verbose] > inl update_mps (method : numerical_method multi_particle_state
00:00:36 #4420 [Verbose] > d_multi_particle_state) =
00:00:36 #4421 [Verbose] > newton_second_mps >> method
00:00:36 #4422 [Verbose] >
00:00:36 #4423 [Verbose] > inl states_mps (method : numerical_method multi_particle_state
00:00:36 #4424 [Verbose] > d_multi_particle_state) =
00:00:36 #4425 [Verbose] > newton_second_mps >> method >> seq.iterate_
00:00:36 #4426 [Verbose] >
00:00:36 #4427 [Verbose] >
00:00:36 #4428 [Verbose] > inl kinetic_energy (particle_state st) =
00:00:36 #4429 [Verbose] > inl m = st.mass
00:00:36 #4430 [Verbose] > inl v = magnitude st.velocity
00:00:36 #4431 [Verbose] > 0.5 * m * v ** 2
00:00:36 #4432 [Verbose] >
00:00:36 #4433 [Verbose] > inl system_ke (multi_particle_state sts) =
00:00:36 #4434 [Verbose] > sts |> listm.map kinetic_energy |> listm'.sum
00:00:36 #4435 [Verbose] >
00:00:36 #4436 [Verbose] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
00:00:36 #4437 [Verbose] > inl r1 = st1.pos_vec
00:00:36 #4438 [Verbose] > inl r2 = st2.pos_vec
00:00:36 #4439 [Verbose] > inl r21 = r2 ^-^ r1
00:00:36 #4440 [Verbose] > inl r21mag = magnitude r21
00:00:36 #4441 [Verbose] > k * (r21mag - re) ** 2 / 2
00:00:36 #4442 [Verbose] >
00:00:36 #4443 [Verbose] > inl earth_surface_gravity_pe (particle_state st) =
00:00:36 #4444 [Verbose] > inl g = 9.80665
00:00:36 #4445 [Verbose] > inl m = st.mass
00:00:36 #4446 [Verbose] > inl z = st.pos_vec.z
00:00:36 #4447 [Verbose] > m * g * z
00:00:36 #4448 [Verbose] >
00:00:36 #4449 [Verbose] > inl two_springs_pe (multi_particle_state sts) =
00:00:36 #4450 [Verbose] > inl st0 = sts |> listm'.item 0i32
00:00:36 #4451 [Verbose] > inl st1 = sts |> listm'.item 1i32
00:00:36 #4452 [Verbose] > linear_spring_pe 100 0.5 (default_particle_state ()) st0
00:00:36 #4453 [Verbose] > + linear_spring_pe 100 0.5 st0 st1
00:00:36 #4454 [Verbose] > + earth_surface_gravity_pe st0
00:00:36 #4455 [Verbose] > + earth_surface_gravity_pe st1
00:00:36 #4456 [Verbose] >
00:00:36 #4457 [Verbose] > inl two_springs_me mpst =
00:00:36 #4458 [Verbose] > system_ke mpst + two_springs_pe mpst
00:00:36 #4459 [Verbose] >
00:00:36 #4460 [Verbose] > inl ball_radius () = 0.03
00:00:36 #4461 [Verbose] >
00:00:36 #4462 [Verbose] > inl billiard_forces k =
00:00:36 #4463 [Verbose] > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]
00:00:36 #4464 [Verbose] >
00:00:36 #4465 [Verbose] > inl billiard_update n_method k dt =
00:00:36 #4466 [Verbose] > update_mps (n_method dt) (billiard_forces k)
00:00:36 #4467 [Verbose] >
00:00:36 #4468 [Verbose] > inl billiard_initial () =
00:00:36 #4469 [Verbose] > inl ball_mass = 0.160
00:00:36 #4470 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:36 #4471 [Verbose] > multi_particle_state [[
00:00:36 #4472 [Verbose] > particle_state {
00:00:36 #4473 [Verbose] > default_particle_state' with
00:00:36 #4474 [Verbose] > mass = ball_mass
00:00:36 #4475 [Verbose] > pos_vec = zero_vec ()
00:00:36 #4476 [Verbose] > velocity = 0.2 *^ i_hat ()
00:00:36 #4477 [Verbose] > }
00:00:36 #4478 [Verbose] > particle_state {
00:00:36 #4479 [Verbose] > default_particle_state' with
00:00:36 #4480 [Verbose] > mass = ball_mass
00:00:36 #4481 [Verbose] > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
00:00:36 #4482 [Verbose] > velocity = zero_vec ()
00:00:36 #4483 [Verbose] > }
00:00:36 #4484 [Verbose] > ]]
00:00:36 #4485 [Verbose] >
00:00:36 #4486 [Verbose] > inl billiard_states ~n_method k dt =
00:00:36 #4487 [Verbose] > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
00:00:36 #4488 [Verbose] >
00:00:36 #4489 [Verbose] > inl billiard_states_finite n_method k dt =
00:00:36 #4490 [Verbose] > billiard_states n_method k dt
00:00:36 #4491 [Verbose] > >> Some
00:00:36 #4492 [Verbose] > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
00:00:36 #4493 [Verbose] > (mpst |> listm'.item 0i32).time <= 10
00:00:36 #4494 [Verbose] > )
00:00:36 #4495 [Verbose] >
00:00:36 #4496 [Verbose] > inl momentum (particle_state st) =
00:00:36 #4497 [Verbose] > inl m = st.mass
00:00:36 #4498 [Verbose] > inl v = st.velocity
00:00:36 #4499 [Verbose] > m *^ v
00:00:36 #4500 [Verbose] >
00:00:36 #4501 [Verbose] > inl system_p (multi_particle_state sts) =
00:00:36 #4502 [Verbose] > sts |> listm.map momentum |> sum_vec
00:00:36 #4503 [Verbose] >
00:00:36 #4504 [Verbose] >
00:00:36 #4505 [Verbose] > inl time_ke_ec_x, time_ke_ec_y =
00:00:36 #4506 [Verbose] > billiard_states_finite euler_cromer_mps 30 0.03
00:00:36 #4507 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:36 #4508 [Verbose] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:00:36 #4509 [Verbose] > )
00:00:36 #4510 [Verbose] > |> listm'.unzip
00:00:36 #4511 [Verbose] >
00:00:36 #4512 [Verbose] > inl time_ke_rk4_x, time_ke_rk4_y =
00:00:36 #4513 [Verbose] > billiard_states_finite runge_kutta_4 30 0.03
00:00:36 #4514 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:36 #4515 [Verbose] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:00:36 #4516 [Verbose] > )
00:00:36 #4517 [Verbose] > |> listm'.unzip
00:00:36 #4518 [Verbose] >
00:00:36 #4519 [Verbose] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
00:00:36 #4520 [Verbose] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
00:00:36 #4521 [Verbose] >
00:00:36 #4522 [Verbose] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
00:00:36 #4523 [Verbose] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
00:00:36 #4524 [Verbose] >
00:00:36 #4525 [Verbose] > "system kinetic energy versus time",
00:00:36 #4526 [Verbose] > "time (s)",
00:00:36 #4527 [Verbose] > "system kinetic energy (j)",
00:00:36 #4528 [Verbose] > ;[[
00:00:36 #4529 [Verbose] > "euler-cromer", time_ke_ec_x, time_ke_ec_y
00:00:36 #4530 [Verbose] > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
00:00:36 #4531 [Verbose] > ]]
00:00:37 #4532 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-1850-5063-5325c99a9916\main.spi
00:00:38 #4533 [Verbose] >
00:00:38 #4534 [Verbose] > ╭─[ 1.50s - return value ]─────────────────────────────────────────────────────╮
00:00:38 #4535 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:38 #4536 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:38 #4537 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:38 #4538 [Verbose] > │ stroke="none"/> │
00:00:38 #4539 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:38 #4540 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:38 #4541 [Verbose] > │ fill="#FFFFFF"> │
00:00:38 #4542 [Verbose] > │ system kinetic energy versus time │
00:00:38 #4543 [Verbose] > │ </text> │
00:00:38 #4544 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:38 #4545 [Verbose] > │ y2="75"/> │
00:00:38 #4546 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:38 #4547 [Verbose] > │ y2="75"/> │
00:00:38 #4548 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:38 #4549 [Verbose] > │ y2="75"/> │
00:00:38 #4550 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:38 #4551 [Verbose] > │ y2="75"/> │
00:00:38 #4552 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1... │
00:00:38 #4553 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #4554 [Verbose] >
00:00:38 #4555 [Verbose] > ╭─[ 1.51s - stdout ]───────────────────────────────────────────────────────────╮
00:00:38 #4556 [Verbose] > │ type UH0 = │
00:00:38 #4557 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:38 #4558 [Verbose] > │ * float * UH0 │
00:00:38 #4559 [Verbose] > │ | UH0_1 │
00:00:38 #4560 [Verbose] > │ and UH1 = │
00:00:38 #4561 [Verbose] > │ | UH1_0 of float * float * float * float * float * float * float * float │
00:00:38 #4562 [Verbose] > │ * float * UH1 │
00:00:38 #4563 [Verbose] > │ | UH1_1 │
00:00:38 #4564 [Verbose] > │ and UH2 = │
00:00:38 #4565 [Verbose] > │ | UH2_0 of float * float * float * float * float * float * float * float │
00:00:38 #4566 [Verbose] > │ * float * float * float * float * float * float * float * float * float * │
00:00:38 #4567 [Verbose] > │ float * UH2 │
00:00:38 #4568 [Verbose] > │ | UH2_1 │
00:00:38 #4569 [Verbose] > │ and UH3 = │
00:00:38 #4570 [Verbose] > │ | UH3_0 of int32 * float * float * float * float * float * float * float │
00:00:38 #4571 [Verbose] > │ * float * float * UH3 │
00:00:38 #4572 [Verbose] > │ | UH3_1 │
00:00:38 #4573 [Verbose] > │ and [<Struct>] US0 = │
00:00:38 #4574 [Verbose] > │ | US0_0 │
00:00:38 #4575 [Verbose] > │ | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
00:00:38 #4576 [Verbose] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
00:00:38 #4577 [Verbose] > │ and UH4 = │
00:00:38 #4578 [Verbose] > │ | UH4_0 of UH0 * UH4 │
00:00:38 #4579 [Verbose] > │ | UH4_1 │
00:00:38 #4580 [Verbose] > │ and UH5 = │
00:00:38 #4581 [Verbose] > │ | UH5_0 of float * float * UH5 │
00:00:38 #4582 [Verbose] > │ | UH5_1 │
00:00:38 #4583 [Verbose] > │ and UH6 = │
00:00:38 #4584 [Verbose] > │ | UH6_0 of float * UH6 │
00:00:38 #4585 [Verbose] > │ | UH6_1 │
00:00:38 #4586 [Verbose] > │ let rec method2 (v0 : UH0, v1 : UH0) : UH0 = │
00:00:38 #4587 [Verbose] > │ match v0 with │
00:00:38 #4588 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4589 [Verbose] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:38 #4590 [Verbose] > │ method2(v11, v12) │
00:00:38 #4591 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4592 [Verbose] > │ v1 │
00:00:38 #4593 [Verbose] > │ and method1 (v0 : float, v1 : UH0, v2 : UH1, v3 : UH0) : UH0 = │
00:00:38 #4594 [Verbose] > │ match v2 with │
00:00:38 #4595 [Verbose] > │ | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
00:00:38 #4596 [Verbose] > │ match v3 with │
00:00:38 #4597 [Verbose] > │ | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* Cons │
00:00:38 #4598 [Verbose] > │ *) │
00:00:38 #4599 [Verbose] > │ let v24 : float = v9 * v0 │
00:00:38 #4600 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:38 #4601 [Verbose] > │ let v26 : float = v0 * v6 │
00:00:38 #4602 [Verbose] > │ let v27 : float = v0 * v7 │
00:00:38 #4603 [Verbose] > │ let v28 : float = v0 * v8 │
00:00:38 #4604 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:38 #4605 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:38 #4606 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:38 #4607 [Verbose] > │ let v32 : float = v0 * v10 │
00:00:38 #4608 [Verbose] > │ let v33 : float = v0 * v11 │
00:00:38 #4609 [Verbose] > │ let v34 : float = v0 * v12 │
00:00:38 #4610 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:38 #4611 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:38 #4612 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:38 #4613 [Verbose] > │ let v38 : UH0 = UH0_0(v14, v15, v29, v30, v31, v25, v35, v36, │
00:00:38 #4614 [Verbose] > │ v37, v1) │
00:00:38 #4615 [Verbose] > │ method1(v0, v38, v13, v23) │
00:00:38 #4616 [Verbose] > │ | _ -> │
00:00:38 #4617 [Verbose] > │ let v40 : UH0 = UH0_1 │
00:00:38 #4618 [Verbose] > │ method2(v1, v40) │
00:00:38 #4619 [Verbose] > │ | _ -> │
00:00:38 #4620 [Verbose] > │ let v43 : UH0 = UH0_1 │
00:00:38 #4621 [Verbose] > │ method2(v1, v43) │
00:00:38 #4622 [Verbose] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 = │
00:00:38 #4623 [Verbose] > │ match v0 with │
00:00:38 #4624 [Verbose] > │ | UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, │
00:00:38 #4625 [Verbose] > │ v16, v17, v18, v19, v20) -> (* Cons *) │
00:00:38 #4626 [Verbose] > │ let v21 : UH2 = UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, │
00:00:38 #4627 [Verbose] > │ v13, v14, v15, v16, v17, v18, v19, v1) │
00:00:38 #4628 [Verbose] > │ method4(v20, v21) │
00:00:38 #4629 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:38 #4630 [Verbose] > │ v1 │
00:00:38 #4631 [Verbose] > │ and method3 (v0 : UH2, v1 : UH0, v2 : UH0) : UH2 = │
00:00:38 #4632 [Verbose] > │ match v1 with │
00:00:38 #4633 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4634 [Verbose] > │ match v2 with │
00:00:38 #4635 [Verbose] > │ | UH0_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
00:00:38 #4636 [Verbose] > │ *) │
00:00:38 #4637 [Verbose] > │ let v23 : UH2 = UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v13, │
00:00:38 #4638 [Verbose] > │ v14, v15, v16, v17, v18, v19, v20, v21, v0) │
00:00:38 #4639 [Verbose] > │ method3(v23, v12, v22) │
00:00:38 #4640 [Verbose] > │ | _ -> │
00:00:38 #4641 [Verbose] > │ let v25 : UH2 = UH2_1 │
00:00:38 #4642 [Verbose] > │ method4(v0, v25) │
00:00:38 #4643 [Verbose] > │ | _ -> │
00:00:38 #4644 [Verbose] > │ let v28 : UH2 = UH2_1 │
00:00:38 #4645 [Verbose] > │ method4(v0, v28) │
00:00:38 #4646 [Verbose] > │ and method5 (v0 : float, v1 : UH2, v2 : UH0) : UH0 = │
00:00:38 #4647 [Verbose] > │ match v1 with │
00:00:38 #4648 [Verbose] > │ | UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, │
00:00:38 #4649 [Verbose] > │ v17, v18, v19, v20, v21) -> (* Cons *) │
00:00:38 #4650 [Verbose] > │ let v22 : UH0 = method5(v0, v21, v2) │
00:00:38 #4651 [Verbose] > │ let v23 : float = v0 * v18 │
00:00:38 #4652 [Verbose] > │ let v24 : float = v0 * v19 │
00:00:38 #4653 [Verbose] > │ let v25 : float = v0 * v20 │
00:00:38 #4654 [Verbose] > │ let v26 : float = v5 + v23 │
00:00:38 #4655 [Verbose] > │ let v27 : float = v6 + v24 │
00:00:38 #4656 [Verbose] > │ let v28 : float = v7 + v25 │
00:00:38 #4657 [Verbose] > │ UH0_0(v12, v13, v26, v27, v28, v17, v18, v19, v20, v22) │
00:00:38 #4658 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:38 #4659 [Verbose] > │ v2 │
00:00:38 #4660 [Verbose] > │ and closure2 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:38 #4661 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:38 #4662 [Verbose] > │ let v4 : UH0 = UH0_1 │
00:00:38 #4663 [Verbose] > │ let v5 : UH0 = method1(v0, v4, v3, v2) │
00:00:38 #4664 [Verbose] > │ let v6 : UH2 = UH2_1 │
00:00:38 #4665 [Verbose] > │ let v7 : UH2 = method3(v6, v2, v5) │
00:00:38 #4666 [Verbose] > │ let v8 : UH0 = UH0_1 │
00:00:38 #4667 [Verbose] > │ let v9 : UH0 = method5(v0, v7, v8) │
00:00:38 #4668 [Verbose] > │ v9 │
00:00:38 #4669 [Verbose] > │ and closure1 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:38 #4670 [Verbose] > │ closure2(v0, v1) │
00:00:38 #4671 [Verbose] > │ and closure0 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:38 #4672 [Verbose] > │ closure1(v0) │
00:00:38 #4673 [Verbose] > │ and method6 (v0 : UH0, v1 : UH3, v2 : int32) : struct (UH3 * int32) = │
00:00:38 #4674 [Verbose] > │ match v0 with │
00:00:38 #4675 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4676 [Verbose] > │ let v13 : int32 = v2 + 1 │
00:00:38 #4677 [Verbose] > │ let v14 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
00:00:38 #4678 [Verbose] > │ method6(v12, v14, v13) │
00:00:38 #4679 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4680 [Verbose] > │ struct (v1, v2) │
00:00:38 #4681 [Verbose] > │ and method7 (v0 : UH3, v1 : UH3) : UH3 = │
00:00:38 #4682 [Verbose] > │ match v0 with │
00:00:38 #4683 [Verbose] > │ | UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4684 [Verbose] > │ let v13 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
00:00:38 #4685 [Verbose] > │ method7(v12, v13) │
00:00:38 #4686 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:38 #4687 [Verbose] > │ v1 │
00:00:38 #4688 [Verbose] > │ and closure4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
00:00:38 #4689 [Verbose] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
00:00:38 #4690 [Verbose] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:38 #4691 [Verbose] > │ : float, v17 : float) : struct (float * float * float) = │
00:00:38 #4692 [Verbose] > │ let v18 : float = -1.0 * v2 │
00:00:38 #4693 [Verbose] > │ let v19 : float = -1.0 * v3 │
00:00:38 #4694 [Verbose] > │ let v20 : float = -1.0 * v4 │
00:00:38 #4695 [Verbose] > │ let v21 : float = v11 + v18 │
00:00:38 #4696 [Verbose] > │ let v22 : float = v12 + v19 │
00:00:38 #4697 [Verbose] > │ let v23 : float = v13 + v20 │
00:00:38 #4698 [Verbose] > │ let v24 : float = v21 * v21 │
00:00:38 #4699 [Verbose] > │ let v25 : float = v22 * v22 │
00:00:38 #4700 [Verbose] > │ let v26 : float = v24 + v25 │
00:00:38 #4701 [Verbose] > │ let v27 : float = v23 * v23 │
00:00:38 #4702 [Verbose] > │ let v28 : float = v26 + v27 │
00:00:38 #4703 [Verbose] > │ let v29 : float = sqrt v28 │
00:00:38 #4704 [Verbose] > │ let v30 : bool = v29 >= 0.06 │
00:00:38 #4705 [Verbose] > │ let v33 : float = │
00:00:38 #4706 [Verbose] > │ if v30 then │
00:00:38 #4707 [Verbose] > │ 0.0 │
00:00:38 #4708 [Verbose] > │ else │
00:00:38 #4709 [Verbose] > │ let v31 : float = v29 - 0.06 │
00:00:38 #4710 [Verbose] > │ let v32 : float = -30.0 * v31 │
00:00:38 #4711 [Verbose] > │ v32 │
00:00:38 #4712 [Verbose] > │ let v34 : float = v33 * v21 │
00:00:38 #4713 [Verbose] > │ let v35 : float = v33 * v22 │
00:00:38 #4714 [Verbose] > │ let v36 : float = v33 * v23 │
00:00:38 #4715 [Verbose] > │ let v37 : float = v34 / v29 │
00:00:38 #4716 [Verbose] > │ let v38 : float = v35 / v29 │
00:00:38 #4717 [Verbose] > │ let v39 : float = v36 / v29 │
00:00:38 #4718 [Verbose] > │ struct (v37, v38, v39) │
00:00:38 #4719 [Verbose] > │ and closure5 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
00:00:38 #4720 [Verbose] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:38 #4721 [Verbose] > │ float * float) = │
00:00:38 #4722 [Verbose] > │ struct (0.0, 0.0, 0.0) │
00:00:38 #4723 [Verbose] > │ and method8 (v0 : UH0, v1 : UH3, v2 : UH1) : UH1 = │
00:00:38 #4724 [Verbose] > │ match v1 with │
00:00:38 #4725 [Verbose] > │ | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
00:00:38 #4726 [Verbose] > │ let v14 : UH1 = method8(v0, v13, v2) │
00:00:38 #4727 [Verbose] > │ let v15 : bool = v3 = 0 │
00:00:38 #4728 [Verbose] > │ let v134 : (struct (float * float * float * float * float * float * │
00:00:38 #4729 [Verbose] > │ float * float * float) -> struct (float * float * float)) = │
00:00:38 #4730 [Verbose] > │ if v15 then │
00:00:38 #4731 [Verbose] > │ let v42 : US0 = │
00:00:38 #4732 [Verbose] > │ match v0 with │
00:00:38 #4733 [Verbose] > │ | UH0_0(v16, v17, v18, v19, v20, v21, v22, v23, v24, │
00:00:38 #4734 [Verbose] > │ v25) -> (* Cons *) │
00:00:38 #4735 [Verbose] > │ match v25 with │
00:00:38 #4736 [Verbose] > │ | UH0_0(v26, v27, v28, v29, v30, v31, v32, v33, v34, │
00:00:38 #4737 [Verbose] > │ v35) -> (* Cons *) │
00:00:38 #4738 [Verbose] > │ US0_1(v26, v27, v28, v29, v30, v31, v32, v33, │
00:00:38 #4739 [Verbose] > │ v34) │
00:00:38 #4740 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4741 [Verbose] > │ US0_0 │
00:00:38 #4742 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4743 [Verbose] > │ US0_0 │
00:00:38 #4744 [Verbose] > │ let struct (v70 : float, v71 : float, v72 : float, v73 : │
00:00:38 #4745 [Verbose] > │ float, v74 : float, v75 : float, v76 : float, v77 : float, v78 : float) = │
00:00:38 #4746 [Verbose] > │ match v42 with │
00:00:38 #4747 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4748 [Verbose] > │ failwith<struct (float * float * float * float * │
00:00:38 #4749 [Verbose] > │ float * float * float * float * float)> "Option does not have a value." │
00:00:38 #4750 [Verbose] > │ | US0_1(v43, v44, v45, v46, v47, v48, v49, v50, v51) -> │
00:00:38 #4751 [Verbose] > │ (* Some *) │
00:00:38 #4752 [Verbose] > │ struct (v43, v44, v45, v46, v47, v48, v49, v50, v51) │
00:00:38 #4753 [Verbose] > │ closure4(v70, v71, v72, v73, v74, v75, v76, v77, v78) │
00:00:38 #4754 [Verbose] > │ else │
00:00:38 #4755 [Verbose] > │ let v80 : bool = v3 = 1 │
00:00:38 #4756 [Verbose] > │ if v80 then │
00:00:38 #4757 [Verbose] > │ let v94 : US0 = │
00:00:38 #4758 [Verbose] > │ match v0 with │
00:00:38 #4759 [Verbose] > │ | UH0_0(v81, v82, v83, v84, v85, v86, v87, v88, v89, │
00:00:38 #4760 [Verbose] > │ v90) -> (* Cons *) │
00:00:38 #4761 [Verbose] > │ US0_1(v81, v82, v83, v84, v85, v86, v87, v88, │
00:00:38 #4762 [Verbose] > │ v89) │
00:00:38 #4763 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4764 [Verbose] > │ US0_0 │
00:00:38 #4765 [Verbose] > │ let struct (v122 : float, v123 : float, v124 : float, │
00:00:38 #4766 [Verbose] > │ v125 : float, v126 : float, v127 : float, v128 : float, v129 : float, v130 : │
00:00:38 #4767 [Verbose] > │ float) = │
00:00:38 #4768 [Verbose] > │ match v94 with │
00:00:38 #4769 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4770 [Verbose] > │ failwith<struct (float * float * float * float * │
00:00:38 #4771 [Verbose] > │ float * float * float * float * float)> "Option does not have a value." │
00:00:38 #4772 [Verbose] > │ | US0_1(v95, v96, v97, v98, v99, v100, v101, v102, │
00:00:38 #4773 [Verbose] > │ v103) -> (* Some *) │
00:00:38 #4774 [Verbose] > │ struct (v95, v96, v97, v98, v99, v100, v101, │
00:00:38 #4775 [Verbose] > │ v102, v103) │
00:00:38 #4776 [Verbose] > │ closure4(v122, v123, v124, v125, v126, v127, v128, v129, │
00:00:38 #4777 [Verbose] > │ v130) │
00:00:38 #4778 [Verbose] > │ else │
00:00:38 #4779 [Verbose] > │ closure5() │
00:00:38 #4780 [Verbose] > │ let struct (v135 : float, v136 : float, v137 : float) = v134 struct │
00:00:38 #4781 [Verbose] > │ (v4, v5, v6, v7, v8, v9, v10, v11, v12) │
00:00:38 #4782 [Verbose] > │ let v138 : float = v135 / v5 │
00:00:38 #4783 [Verbose] > │ let v139 : float = v136 / v5 │
00:00:38 #4784 [Verbose] > │ let v140 : float = v137 / v5 │
00:00:38 #4785 [Verbose] > │ UH1_0(0.0, 0.0, v10, v11, v12, 1.0, v138, v139, v140, v14) │
00:00:38 #4786 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:38 #4787 [Verbose] > │ v2 │
00:00:38 #4788 [Verbose] > │ and closure3 () (v0 : UH0) : UH1 = │
00:00:38 #4789 [Verbose] > │ let v1 : UH3 = UH3_1 │
00:00:38 #4790 [Verbose] > │ let v2 : int32 = 0 │
00:00:38 #4791 [Verbose] > │ let struct (v3 : UH3, v4 : int32) = method6(v0, v1, v2) │
00:00:38 #4792 [Verbose] > │ let v5 : UH3 = UH3_1 │
00:00:38 #4793 [Verbose] > │ let v6 : UH3 = method7(v3, v5) │
00:00:38 #4794 [Verbose] > │ let v7 : UH1 = UH1_1 │
00:00:38 #4795 [Verbose] > │ let v8 : UH1 = method8(v0, v6, v7) │
00:00:38 #4796 [Verbose] > │ v8 │
00:00:38 #4797 [Verbose] > │ and method10 (v0 : (UH0 -> UH0), v1 : UH0, v2 : int32) : UH0 = │
00:00:38 #4798 [Verbose] > │ let v3 : bool = v2 <= 0 │
00:00:38 #4799 [Verbose] > │ if v3 then │
00:00:38 #4800 [Verbose] > │ v1 │
00:00:38 #4801 [Verbose] > │ else │
00:00:38 #4802 [Verbose] > │ let v4 : UH0 = v0 v1 │
00:00:38 #4803 [Verbose] > │ let v5 : int32 = v2 - 1 │
00:00:38 #4804 [Verbose] > │ method10(v0, v4, v5) │
00:00:38 #4805 [Verbose] > │ and method11 (v0 : UH4, v1 : UH4) : UH4 = │
00:00:38 #4806 [Verbose] > │ match v0 with │
00:00:38 #4807 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4808 [Verbose] > │ let v4 : UH4 = UH4_0(v2, v1) │
00:00:38 #4809 [Verbose] > │ method11(v3, v4) │
00:00:38 #4810 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #4811 [Verbose] > │ v1 │
00:00:38 #4812 [Verbose] > │ and method9 (v0 : (UH0 -> UH0), v1 : UH4, v2 : int32) : UH4 = │
00:00:38 #4813 [Verbose] > │ let v3 : float = 0.0 │
00:00:38 #4814 [Verbose] > │ let v4 : float = 0.16 │
00:00:38 #4815 [Verbose] > │ let v5 : float = 0.0 │
00:00:38 #4816 [Verbose] > │ let v6 : float = 0.0 │
00:00:38 #4817 [Verbose] > │ let v7 : float = 0.0 │
00:00:38 #4818 [Verbose] > │ let v8 : float = 0.0 │
00:00:38 #4819 [Verbose] > │ let v9 : float = 0.2 │
00:00:38 #4820 [Verbose] > │ let v10 : float = 0.0 │
00:00:38 #4821 [Verbose] > │ let v11 : float = 0.0 │
00:00:38 #4822 [Verbose] > │ let v12 : float = 1.0 │
00:00:38 #4823 [Verbose] > │ let v13 : float = 0.02 │
00:00:38 #4824 [Verbose] > │ let v14 : float = 0.0 │
00:00:38 #4825 [Verbose] > │ let v15 : float = 0.0 │
00:00:38 #4826 [Verbose] > │ let v16 : float = 0.0 │
00:00:38 #4827 [Verbose] > │ let v17 : float = 0.0 │
00:00:38 #4828 [Verbose] > │ let v18 : UH0 = UH0_1 │
00:00:38 #4829 [Verbose] > │ let v19 : UH0 = UH0_0(v3, v4, v12, v13, v14, v8, v15, v16, v17, v18) │
00:00:38 #4830 [Verbose] > │ let v20 : UH0 = UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v19) │
00:00:38 #4831 [Verbose] > │ let v21 : UH0 = method10(v0, v20, v2) │
00:00:38 #4832 [Verbose] > │ let v35 : US0 = │
00:00:38 #4833 [Verbose] > │ match v21 with │
00:00:38 #4834 [Verbose] > │ | UH0_0(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (* Cons │
00:00:38 #4835 [Verbose] > │ *) │
00:00:38 #4836 [Verbose] > │ US0_1(v22, v23, v24, v25, v26, v27, v28, v29, v30) │
00:00:38 #4837 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4838 [Verbose] > │ US0_0 │
00:00:38 #4839 [Verbose] > │ let struct (v63 : float, v64 : float, v65 : float, v66 : float, v67 : │
00:00:38 #4840 [Verbose] > │ float, v68 : float, v69 : float, v70 : float, v71 : float) = │
00:00:38 #4841 [Verbose] > │ match v35 with │
00:00:38 #4842 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4843 [Verbose] > │ failwith<struct (float * float * float * float * float * float * │
00:00:38 #4844 [Verbose] > │ float * float * float)> "Option does not have a value." │
00:00:38 #4845 [Verbose] > │ | US0_1(v36, v37, v38, v39, v40, v41, v42, v43, v44) -> (* Some *) │
00:00:38 #4846 [Verbose] > │ struct (v36, v37, v38, v39, v40, v41, v42, v43, v44) │
00:00:38 #4847 [Verbose] > │ let v72 : bool = v68 <= 10.0 │
00:00:38 #4848 [Verbose] > │ if v72 then │
00:00:38 #4849 [Verbose] > │ let v73 : UH4 = UH4_0(v21, v1) │
00:00:38 #4850 [Verbose] > │ let v74 : int32 = v2 + 1 │
00:00:38 #4851 [Verbose] > │ method9(v0, v73, v74) │
00:00:38 #4852 [Verbose] > │ else │
00:00:38 #4853 [Verbose] > │ let v76 : UH4 = UH4_1 │
00:00:38 #4854 [Verbose] > │ method11(v1, v76) │
00:00:38 #4855 [Verbose] > │ and method13 (v0 : UH0, v1 : UH6) : UH6 = │
00:00:38 #4856 [Verbose] > │ match v0 with │
00:00:38 #4857 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4858 [Verbose] > │ let v12 : UH6 = method13(v11, v1) │
00:00:38 #4859 [Verbose] > │ let v13 : float = v8 * v8 │
00:00:38 #4860 [Verbose] > │ let v14 : float = v9 * v9 │
00:00:38 #4861 [Verbose] > │ let v15 : float = v13 + v14 │
00:00:38 #4862 [Verbose] > │ let v16 : float = v10 * v10 │
00:00:38 #4863 [Verbose] > │ let v17 : float = v15 + v16 │
00:00:38 #4864 [Verbose] > │ let v18 : float = sqrt v17 │
00:00:38 #4865 [Verbose] > │ let v19 : float = 0.5 * v3 │
00:00:38 #4866 [Verbose] > │ let v20 : float = v18 ** 2.0 │
00:00:38 #4867 [Verbose] > │ let v21 : float = v19 * v20 │
00:00:38 #4868 [Verbose] > │ UH6_0(v21, v12) │
00:00:38 #4869 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4870 [Verbose] > │ v1 │
00:00:38 #4871 [Verbose] > │ and method14 (v0 : UH6, v1 : float) : float = │
00:00:38 #4872 [Verbose] > │ match v0 with │
00:00:38 #4873 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #4874 [Verbose] > │ let v4 : float = v1 + v2 │
00:00:38 #4875 [Verbose] > │ method14(v3, v4) │
00:00:38 #4876 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #4877 [Verbose] > │ v1 │
00:00:38 #4878 [Verbose] > │ and method12 (v0 : UH4, v1 : UH5) : UH5 = │
00:00:38 #4879 [Verbose] > │ match v0 with │
00:00:38 #4880 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4881 [Verbose] > │ let v4 : UH5 = method12(v3, v1) │
00:00:38 #4882 [Verbose] > │ let v18 : US0 = │
00:00:38 #4883 [Verbose] > │ match v2 with │
00:00:38 #4884 [Verbose] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
00:00:38 #4885 [Verbose] > │ *) │
00:00:38 #4886 [Verbose] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
00:00:38 #4887 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4888 [Verbose] > │ US0_0 │
00:00:38 #4889 [Verbose] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
00:00:38 #4890 [Verbose] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
00:00:38 #4891 [Verbose] > │ match v18 with │
00:00:38 #4892 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4893 [Verbose] > │ failwith<struct (float * float * float * float * float * │
00:00:38 #4894 [Verbose] > │ float * float * float * float)> "Option does not have a value." │
00:00:38 #4895 [Verbose] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
00:00:38 #4896 [Verbose] > │ *) │
00:00:38 #4897 [Verbose] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
00:00:38 #4898 [Verbose] > │ let v55 : UH6 = UH6_1 │
00:00:38 #4899 [Verbose] > │ let v56 : UH6 = method13(v2, v55) │
00:00:38 #4900 [Verbose] > │ let v57 : float = 0.0 │
00:00:38 #4901 [Verbose] > │ let v58 : float = method14(v56, v57) │
00:00:38 #4902 [Verbose] > │ UH5_0(v51, v58, v4) │
00:00:38 #4903 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #4904 [Verbose] > │ v1 │
00:00:38 #4905 [Verbose] > │ and method15 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) = │
00:00:38 #4906 [Verbose] > │ match v0 with │
00:00:38 #4907 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:38 #4908 [Verbose] > │ let v6 : UH6 = UH6_0(v3, v1) │
00:00:38 #4909 [Verbose] > │ let v7 : UH6 = UH6_0(v4, v2) │
00:00:38 #4910 [Verbose] > │ method15(v5, v6, v7) │
00:00:38 #4911 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:38 #4912 [Verbose] > │ struct (v1, v2) │
00:00:38 #4913 [Verbose] > │ and method16 (v0 : UH6, v1 : UH6) : UH6 = │
00:00:38 #4914 [Verbose] > │ match v0 with │
00:00:38 #4915 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #4916 [Verbose] > │ let v4 : UH6 = UH6_0(v2, v1) │
00:00:38 #4917 [Verbose] > │ method16(v3, v4) │
00:00:38 #4918 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #4919 [Verbose] > │ v1 │
00:00:38 #4920 [Verbose] > │ and method18 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:38 #4921 [Verbose] > │ match v0 with │
00:00:38 #4922 [Verbose] > │ | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
00:00:38 #4923 [Verbose] > │ let v12 : UH1 = UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
00:00:38 #4924 [Verbose] > │ method18(v11, v12) │
00:00:38 #4925 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:38 #4926 [Verbose] > │ v1 │
00:00:38 #4927 [Verbose] > │ and method17 (v0 : UH1, v1 : UH1, v2 : UH1) : UH1 = │
00:00:38 #4928 [Verbose] > │ match v1 with │
00:00:38 #4929 [Verbose] > │ | UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
00:00:38 #4930 [Verbose] > │ match v2 with │
00:00:38 #4931 [Verbose] > │ | UH1_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
00:00:38 #4932 [Verbose] > │ *) │
00:00:38 #4933 [Verbose] > │ let v23 : float = v3 + v13 │
00:00:38 #4934 [Verbose] > │ let v24 : float = v4 + v14 │
00:00:38 #4935 [Verbose] > │ let v25 : float = v8 + v18 │
00:00:38 #4936 [Verbose] > │ let v26 : float = v5 + v15 │
00:00:38 #4937 [Verbose] > │ let v27 : float = v6 + v16 │
00:00:38 #4938 [Verbose] > │ let v28 : float = v7 + v17 │
00:00:38 #4939 [Verbose] > │ let v29 : float = v9 + v19 │
00:00:38 #4940 [Verbose] > │ let v30 : float = v10 + v20 │
00:00:38 #4941 [Verbose] > │ let v31 : float = v11 + v21 │
00:00:38 #4942 [Verbose] > │ let v32 : UH1 = UH1_0(v23, v24, v26, v27, v28, v25, v29, v30, │
00:00:38 #4943 [Verbose] > │ v31, v0) │
00:00:38 #4944 [Verbose] > │ method17(v32, v12, v22) │
00:00:38 #4945 [Verbose] > │ | _ -> │
00:00:38 #4946 [Verbose] > │ let v34 : UH1 = UH1_1 │
00:00:38 #4947 [Verbose] > │ method18(v0, v34) │
00:00:38 #4948 [Verbose] > │ | _ -> │
00:00:38 #4949 [Verbose] > │ let v37 : UH1 = UH1_1 │
00:00:38 #4950 [Verbose] > │ method18(v0, v37) │
00:00:38 #4951 [Verbose] > │ and closure8 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:38 #4952 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:38 #4953 [Verbose] > │ let v4 : float = v0 / 2.0 │
00:00:38 #4954 [Verbose] > │ let v5 : UH0 = UH0_1 │
00:00:38 #4955 [Verbose] > │ let v6 : UH0 = method1(v4, v5, v3, v2) │
00:00:38 #4956 [Verbose] > │ let v7 : UH1 = v1 v6 │
00:00:38 #4957 [Verbose] > │ let v8 : UH0 = UH0_1 │
00:00:38 #4958 [Verbose] > │ let v9 : UH0 = method1(v4, v8, v7, v2) │
00:00:38 #4959 [Verbose] > │ let v10 : UH1 = v1 v9 │
00:00:38 #4960 [Verbose] > │ let v11 : UH0 = UH0_1 │
00:00:38 #4961 [Verbose] > │ let v12 : UH0 = method1(v0, v11, v10, v2) │
00:00:38 #4962 [Verbose] > │ let v13 : UH1 = v1 v12 │
00:00:38 #4963 [Verbose] > │ let v14 : float = v0 / 6.0 │
00:00:38 #4964 [Verbose] > │ let v15 : UH1 = UH1_1 │
00:00:38 #4965 [Verbose] > │ let v16 : UH1 = method17(v15, v3, v7) │
00:00:38 #4966 [Verbose] > │ let v17 : UH1 = UH1_1 │
00:00:38 #4967 [Verbose] > │ let v18 : UH1 = method17(v17, v16, v7) │
00:00:38 #4968 [Verbose] > │ let v19 : UH1 = UH1_1 │
00:00:38 #4969 [Verbose] > │ let v20 : UH1 = method17(v19, v18, v10) │
00:00:38 #4970 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:38 #4971 [Verbose] > │ let v22 : UH1 = method17(v21, v20, v10) │
00:00:38 #4972 [Verbose] > │ let v23 : UH1 = UH1_1 │
00:00:38 #4973 [Verbose] > │ let v24 : UH1 = method17(v23, v22, v13) │
00:00:38 #4974 [Verbose] > │ let v25 : UH0 = UH0_1 │
00:00:38 #4975 [Verbose] > │ let v26 : UH0 = method1(v14, v25, v24, v2) │
00:00:38 #4976 [Verbose] > │ v26 │
00:00:38 #4977 [Verbose] > │ and closure7 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:38 #4978 [Verbose] > │ closure8(v0, v1) │
00:00:38 #4979 [Verbose] > │ and closure6 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:38 #4980 [Verbose] > │ closure7(v0) │
00:00:38 #4981 [Verbose] > │ and method19 (v0 : UH4, v1 : UH5) : UH5 = │
00:00:38 #4982 [Verbose] > │ match v0 with │
00:00:38 #4983 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:38 #4984 [Verbose] > │ let v4 : UH5 = method19(v3, v1) │
00:00:38 #4985 [Verbose] > │ let v18 : US0 = │
00:00:38 #4986 [Verbose] > │ match v2 with │
00:00:38 #4987 [Verbose] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
00:00:38 #4988 [Verbose] > │ *) │
00:00:38 #4989 [Verbose] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
00:00:38 #4990 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:38 #4991 [Verbose] > │ US0_0 │
00:00:38 #4992 [Verbose] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
00:00:38 #4993 [Verbose] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
00:00:38 #4994 [Verbose] > │ match v18 with │
00:00:38 #4995 [Verbose] > │ | US0_0 -> (* None *) │
00:00:38 #4996 [Verbose] > │ failwith<struct (float * float * float * float * float * │
00:00:38 #4997 [Verbose] > │ float * float * float * float)> "Option does not have a value." │
00:00:38 #4998 [Verbose] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
00:00:38 #4999 [Verbose] > │ *) │
00:00:38 #5000 [Verbose] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
00:00:38 #5001 [Verbose] > │ let v55 : UH6 = UH6_1 │
00:00:38 #5002 [Verbose] > │ let v56 : UH6 = method13(v2, v55) │
00:00:38 #5003 [Verbose] > │ let v57 : float = 0.0 │
00:00:38 #5004 [Verbose] > │ let v58 : float = method14(v56, v57) │
00:00:38 #5005 [Verbose] > │ UH5_0(v51, v58, v4) │
00:00:38 #5006 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:38 #5007 [Verbose] > │ v1 │
00:00:38 #5008 [Verbose] > │ and method21 (v0 : UH6, v1 : int32) : int32 = │
00:00:38 #5009 [Verbose] > │ match v0 with │
00:00:38 #5010 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:38 #5011 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:38 #5012 [Verbose] > │ method21(v3, v4) │
00:00:38 #5013 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #5014 [Verbose] > │ v1 │
00:00:38 #5015 [Verbose] > │ and method22 (v0 : (float []), v1 : UH6, v2 : int32) : int32 = │
00:00:38 #5016 [Verbose] > │ match v1 with │
00:00:38 #5017 [Verbose] > │ | UH6_0(v3, v4) -> (* Cons *) │
00:00:38 #5018 [Verbose] > │ v0.[int v2] <- v3 │
00:00:38 #5019 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:38 #5020 [Verbose] > │ method22(v0, v4, v5) │
00:00:38 #5021 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:38 #5022 [Verbose] > │ v2 │
00:00:38 #5023 [Verbose] > │ and method20 (v0 : UH6) : (float []) = │
00:00:38 #5024 [Verbose] > │ let v1 : int32 = 0 │
00:00:38 #5025 [Verbose] > │ let v2 : int32 = method21(v0, v1) │
00:00:38 #5026 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:38 #5027 [Verbose] > │ let v4 : int32 = 0 │
00:00:38 #5028 [Verbose] > │ let v5 : int32 = method22(v3, v0, v4) │
00:00:38 #5029 [Verbose] > │ v3 │
00:00:38 #5030 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:38 #5031 [Verbose] > │ []) * (float [])) [])) = │
00:00:38 #5032 [Verbose] > │ let v0 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure0() │
00:00:38 #5033 [Verbose] > │ let v1 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v0 0.03 │
00:00:38 #5034 [Verbose] > │ let v2 : (UH0 -> UH1) = closure3() │
00:00:38 #5035 [Verbose] > │ let v3 : (UH0 -> UH0) = v1 v2 │
00:00:38 #5036 [Verbose] > │ let v4 : UH4 = UH4_1 │
00:00:38 #5037 [Verbose] > │ let v5 : int32 = 0 │
00:00:38 #5038 [Verbose] > │ let v6 : UH4 = method9(v3, v4, v5) │
00:00:38 #5039 [Verbose] > │ let v7 : UH5 = UH5_1 │
00:00:38 #5040 [Verbose] > │ let v8 : UH5 = method12(v6, v7) │
00:00:38 #5041 [Verbose] > │ let v9 : UH6 = UH6_1 │
00:00:38 #5042 [Verbose] > │ let v10 : UH6 = UH6_1 │
00:00:38 #5043 [Verbose] > │ let struct (v11 : UH6, v12 : UH6) = method15(v8, v9, v10) │
00:00:38 #5044 [Verbose] > │ let v13 : UH6 = UH6_1 │
00:00:38 #5045 [Verbose] > │ let v14 : UH6 = method16(v11, v13) │
00:00:38 #5046 [Verbose] > │ let v15 : UH6 = UH6_1 │
00:00:38 #5047 [Verbose] > │ let v16 : UH6 = method16(v12, v15) │
00:00:38 #5048 [Verbose] > │ let v17 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure6() │
00:00:38 #5049 [Verbose] > │ let v18 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v17 0.03 │
00:00:38 #5050 [Verbose] > │ let v19 : (UH0 -> UH0) = v18 v2 │
00:00:38 #5051 [Verbose] > │ let v20 : UH4 = UH4_1 │
00:00:38 #5052 [Verbose] > │ let v21 : int32 = 0 │
00:00:38 #5053 [Verbose] > │ let v22 : UH4 = method9(v19, v20, v21) │
00:00:38 #5054 [Verbose] > │ let v23 : UH5 = UH5_1 │
00:00:38 #5055 [Verbose] > │ let v24 : UH5 = method19(v22, v23) │
00:00:38 #5056 [Verbose] > │ let v25 : UH6 = UH6_1 │
00:00:38 #5057 [Verbose] > │ let v26 : UH6 = UH6_1 │
00:00:38 #5058 [Verbose] > │ let struct (v27 : UH6, v28 : UH6) = method15(v24, v25, v26) │
00:00:38 #5059 [Verbose] > │ let v29 : UH6 = UH6_1 │
00:00:38 #5060 [Verbose] > │ let v30 : UH6 = method16(v27, v29) │
00:00:38 #5061 [Verbose] > │ let v31 : UH6 = UH6_1 │
00:00:38 #5062 [Verbose] > │ let v32 : UH6 = method16(v28, v31) │
00:00:38 #5063 [Verbose] > │ let v33 : (float []) = method20(v14) │
00:00:38 #5064 [Verbose] > │ let v34 : (float []) = method20(v16) │
00:00:38 #5065 [Verbose] > │ let v35 : (float []) = method20(v30) │
00:00:38 #5066 [Verbose] > │ let v36 : (float []) = method20(v32) │
00:00:38 #5067 [Verbose] > │ let v37 : string = "euler-cromer" │
00:00:38 #5068 [Verbose] > │ let v38 : string = "runge-kutta 4" │
00:00:38 #5069 [Verbose] > │ let v39 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:38 #5070 [Verbose] > │ (v37, v33, v34); struct (v38, v35, v36)|] │
00:00:38 #5071 [Verbose] > │ let v40 : string = "system kinetic energy versus time" │
00:00:38 #5072 [Verbose] > │ let v41 : string = "time (s)" │
00:00:38 #5073 [Verbose] > │ let v42 : string = "system kinetic energy (j)" │
00:00:38 #5074 [Verbose] > │ struct (v40, v41, v42, v39) │
00:00:38 #5075 [Verbose] > │ method0() │
00:00:38 #5076 [Verbose] > │ │
00:00:38 #5077 [Verbose] > │ │
00:00:38 #5078 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #5079 [Verbose] >
00:00:38 #5080 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:38 #5081 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:38 #5082 [Verbose] > │ ### wave 1 │
00:00:38 #5083 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:38 #5084 [Verbose] >
00:00:38 #5085 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:38 #5086 [Verbose] > // // test
00:00:38 #5087 [Verbose] >
00:00:38 #5088 [Verbose] > inl linear_spring k re (particle_state st1) (particle_state st2) =
00:00:38 #5089 [Verbose] > inl r1 = st1.pos_vec
00:00:38 #5090 [Verbose] > inl r2 = st2.pos_vec
00:00:38 #5091 [Verbose] > inl r21 = r2 ^-^ r1
00:00:38 #5092 [Verbose] > inl r21mag = magnitude r21
00:00:38 #5093 [Verbose] > -k * (r21mag - re) *^ r21 ^/ r21mag
00:00:38 #5094 [Verbose] >
00:00:38 #5095 [Verbose] > inl fixed_linear_spring k re r1 =
00:00:38 #5096 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5097 [Verbose] > linear_spring k re (particle_state { default_particle_state' with pos_vec =
00:00:38 #5098 [Verbose] > r1 })
00:00:38 #5099 [Verbose] >
00:00:38 #5100 [Verbose] > inl forces_string () =
00:00:38 #5101 [Verbose] > [[
00:00:38 #5102 [Verbose] > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))
00:00:38 #5103 [Verbose] > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
00:00:38 #5104 [Verbose] > ]] /@ (
00:00:38 #5105 [Verbose] > listm'.init_series 0 59 1
00:00:38 #5106 [Verbose] > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
00:00:38 #5107 [Verbose] > )
00:00:38 #5108 [Verbose] >
00:00:38 #5109 [Verbose] > inl string_update dt =
00:00:38 #5110 [Verbose] > update_mps (runge_kutta_4 dt) (forces_string ())
00:00:38 #5111 [Verbose] >
00:00:38 #5112 [Verbose] > inl string_initial_overtone n =
00:00:38 #5113 [Verbose] > inl ball_mass = 0.0008293 * 0.65 / 64
00:00:38 #5114 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5115 [Verbose] > listm'.init_series 0.01 0.64 0.01
00:00:38 #5116 [Verbose] > |> listm.map (fun x =>
00:00:38 #5117 [Verbose] > inl y = 0.005 * sin (conv n * pi * x / 0.65)
00:00:38 #5118 [Verbose] > particle_state {
00:00:38 #5119 [Verbose] > default_particle_state' with
00:00:38 #5120 [Verbose] > mass = ball_mass
00:00:38 #5121 [Verbose] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:00:38 #5122 [Verbose] > velocity = zero_vec ()
00:00:38 #5123 [Verbose] > }
00:00:38 #5124 [Verbose] > )
00:00:38 #5125 [Verbose] > |> multi_particle_state
00:00:38 #5126 [Verbose] >
00:00:38 #5127 [Verbose] > inl string_initial_pluck () =
00:00:38 #5128 [Verbose] > inl ball_mass = 0.0008293 * 0.65 / 64
00:00:38 #5129 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:38 #5130 [Verbose] > listm'.init_series 0.01 0.64 0.01
00:00:38 #5131 [Verbose] > |> listm.map (fun x =>
00:00:38 #5132 [Verbose] > inl y =
00:00:38 #5133 [Verbose] > inl n = if x <= 0.51 then 0 else 0.65
00:00:38 #5134 [Verbose] > 0.005 / (0.51 - n) * (x - n)
00:00:38 #5135 [Verbose] > particle_state {
00:00:38 #5136 [Verbose] > default_particle_state' with
00:00:38 #5137 [Verbose] > mass = ball_mass
00:00:38 #5138 [Verbose] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:00:38 #5139 [Verbose] > velocity = zero_vec ()
00:00:38 #5140 [Verbose] > }
00:00:38 #5141 [Verbose] > )
00:00:38 #5142 [Verbose] > |> multi_particle_state
00:00:38 #5143 [Verbose] >
00:00:38 #5144 [Verbose] > let main () =
00:00:38 #5145 [Verbose] > inl ~frames = listm'.init_series 0 9 1f64
00:00:38 #5146 [Verbose] > inl initial_state = string_initial_overtone 3i32
00:00:38 #5147 [Verbose] > inl frames =
00:00:38 #5148 [Verbose] > frames
00:00:38 #5149 [Verbose] > |> listm.map (fun n =>
00:00:38 #5150 [Verbose] > inl (multi_particle_state sts) =
00:00:38 #5151 [Verbose] > seq.iterate' (string_update 0.000025) initial_state |> fun f =>
00:00:38 #5152 [Verbose] > f 0f64
00:00:38 #5153 [Verbose] > inl rs =
00:00:38 #5154 [Verbose] > [[ zero_vec () ]]
00:00:38 #5155 [Verbose] > /@ (sts |> listm.map (fun (particle_state st) => st.pos_vec))
00:00:38 #5156 [Verbose] > /@ [[ 0.65 *^ i_hat () ]]
00:00:38 #5157 [Verbose] > inl x, y =
00:00:38 #5158 [Verbose] > rs
00:00:38 #5159 [Verbose] > |> listm.map (fun r => r.x, r.y)
00:00:38 #5160 [Verbose] > |> listm'.unzip
00:00:38 #5161 [Verbose] > inl x : a i32 _ = x |> listm.toArray
00:00:38 #5162 [Verbose] > inl y : a i32 _ = y |> listm.toArray
00:00:38 #5163 [Verbose] > x, y
00:00:38 #5164 [Verbose] > )
00:00:38 #5165 [Verbose] > |> listm.toArray : a i32 _
00:00:38 #5166 [Verbose] >
00:00:38 #5167 [Verbose] > inl n = 0i32
00:00:38 #5168 [Verbose] >
00:00:38 #5169 [Verbose] > inl x, y = index frames n
00:00:38 #5170 [Verbose] >
00:00:38 #5171 [Verbose] > "wave",
00:00:38 #5172 [Verbose] > "position (m)",
00:00:38 #5173 [Verbose] > "displacement (m)",
00:00:38 #5174 [Verbose] > ;[[
00:00:38 #5175 [Verbose] > ($"$\"{!n}\"" : string), x, y
00:00:38 #5176 [Verbose] > ]]
00:00:38 #5177 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-2021-2101-2ccb0383895b\main.spi
00:00:39 #5178 [Verbose] >
00:00:39 #5179 [Verbose] > ╭─[ 440.94ms - return value ]──────────────────────────────────────────────────╮
00:00:39 #5180 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:39 #5181 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:39 #5182 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:39 #5183 [Verbose] > │ stroke="none"/> │
00:00:39 #5184 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:39 #5185 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:39 #5186 [Verbose] > │ fill="#FFFFFF"> │
00:00:39 #5187 [Verbose] > │ wave │
00:00:39 #5188 [Verbose] > │ </text> │
00:00:39 #5189 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:00:39 #5190 [Verbose] > │ y2="75"/> │
00:00:39 #5191 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:39 #5192 [Verbose] > │ y2="75"/> │
00:00:39 #5193 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:00:39 #5194 [Verbose] > │ y2="75"/> │
00:00:39 #5195 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │
00:00:39 #5196 [Verbose] > │ y2="75"/> │
00:00:39 #5197 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:00:39 #5198 [Verbose] > │ y2... │
00:00:39 #5199 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:39 #5200 [Verbose] >
00:00:39 #5201 [Verbose] > ╭─[ 456.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:39 #5202 [Verbose] > │ type UH0 = │
00:00:39 #5203 [Verbose] > │ | UH0_0 of float * UH0 │
00:00:39 #5204 [Verbose] > │ | UH0_1 │
00:00:39 #5205 [Verbose] > │ and UH1 = │
00:00:39 #5206 [Verbose] > │ | UH1_0 of (float []) * (float []) * UH1 │
00:00:39 #5207 [Verbose] > │ | UH1_1 │
00:00:39 #5208 [Verbose] > │ let rec method3 (v0 : UH0, v1 : int32) : int32 = │
00:00:39 #5209 [Verbose] > │ match v0 with │
00:00:39 #5210 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:39 #5211 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:39 #5212 [Verbose] > │ method3(v3, v4) │
00:00:39 #5213 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:39 #5214 [Verbose] > │ v1 │
00:00:39 #5215 [Verbose] > │ and method4 (v0 : (float []), v1 : UH0, v2 : int32) : int32 = │
00:00:39 #5216 [Verbose] > │ match v1 with │
00:00:39 #5217 [Verbose] > │ | UH0_0(v3, v4) -> (* Cons *) │
00:00:39 #5218 [Verbose] > │ v0.[int v2] <- v3 │
00:00:39 #5219 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:39 #5220 [Verbose] > │ method4(v0, v4, v5) │
00:00:39 #5221 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:39 #5222 [Verbose] > │ v2 │
00:00:39 #5223 [Verbose] > │ and method2 (v0 : UH0) : (float []) = │
00:00:39 #5224 [Verbose] > │ let v1 : int32 = 0 │
00:00:39 #5225 [Verbose] > │ let v2 : int32 = method3(v0, v1) │
00:00:39 #5226 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:39 #5227 [Verbose] > │ let v4 : int32 = 0 │
00:00:39 #5228 [Verbose] > │ let v5 : int32 = method4(v3, v0, v4) │
00:00:39 #5229 [Verbose] > │ v3 │
00:00:39 #5230 [Verbose] > │ and method1 (v0 : UH0, v1 : UH1) : UH1 = │
00:00:39 #5231 [Verbose] > │ match v0 with │
00:00:39 #5232 [Verbose] > │ | UH0_0(v2, v3) -> (* Cons *) │
00:00:39 #5233 [Verbose] > │ let v4 : UH1 = method1(v3, v1) │
00:00:39 #5234 [Verbose] > │ let v5 : float = 0.0 │
00:00:39 #5235 [Verbose] > │ let v6 : float = 0.01 │
00:00:39 #5236 [Verbose] > │ let v7 : float = 0.02 │
00:00:39 #5237 [Verbose] > │ let v8 : float = 0.03 │
00:00:39 #5238 [Verbose] > │ let v9 : float = 0.04 │
00:00:39 #5239 [Verbose] > │ let v10 : float = 0.05 │
00:00:39 #5240 [Verbose] > │ let v11 : float = 0.060000000000000005 │
00:00:39 #5241 [Verbose] > │ let v12 : float = 0.06999999999999999 │
00:00:39 #5242 [Verbose] > │ let v13 : float = 0.08 │
00:00:39 #5243 [Verbose] > │ let v14 : float = 0.09 │
00:00:39 #5244 [Verbose] > │ let v15 : float = 0.09999999999999999 │
00:00:39 #5245 [Verbose] > │ let v16 : float = 0.11 │
00:00:39 #5246 [Verbose] > │ let v17 : float = 0.12 │
00:00:39 #5247 [Verbose] > │ let v18 : float = 0.13 │
00:00:39 #5248 [Verbose] > │ let v19 : float = 0.14 │
00:00:39 #5249 [Verbose] > │ let v20 : float = 0.15000000000000002 │
00:00:39 #5250 [Verbose] > │ let v21 : float = 0.16 │
00:00:39 #5251 [Verbose] > │ let v22 : float = 0.17 │
00:00:39 #5252 [Verbose] > │ let v23 : float = 0.18000000000000002 │
00:00:39 #5253 [Verbose] > │ let v24 : float = 0.19 │
00:00:39 #5254 [Verbose] > │ let v25 : float = 0.2 │
00:00:39 #5255 [Verbose] > │ let v26 : float = 0.21000000000000002 │
00:00:39 #5256 [Verbose] > │ let v27 : float = 0.22 │
00:00:39 #5257 [Verbose] > │ let v28 : float = 0.23 │
00:00:39 #5258 [Verbose] > │ let v29 : float = 0.24000000000000002 │
00:00:39 #5259 [Verbose] > │ let v30 : float = 0.25 │
00:00:39 #5260 [Verbose] > │ let v31 : float = 0.26 │
00:00:39 #5261 [Verbose] > │ let v32 : float = 0.27 │
00:00:39 #5262 [Verbose] > │ let v33 : float = 0.28 │
00:00:39 #5263 [Verbose] > │ let v34 : float = 0.29000000000000004 │
00:00:39 #5264 [Verbose] > │ let v35 : float = 0.3 │
00:00:39 #5265 [Verbose] > │ let v36 : float = 0.31 │
00:00:39 #5266 [Verbose] > │ let v37 : float = 0.32 │
00:00:39 #5267 [Verbose] > │ let v38 : float = 0.33 │
00:00:39 #5268 [Verbose] > │ let v39 : float = 0.34 │
00:00:39 #5269 [Verbose] > │ let v40 : float = 0.35000000000000003 │
00:00:39 #5270 [Verbose] > │ let v41 : float = 0.36000000000000004 │
00:00:39 #5271 [Verbose] > │ let v42 : float = 0.37 │
00:00:39 #5272 [Verbose] > │ let v43 : float = 0.38 │
00:00:39 #5273 [Verbose] > │ let v44 : float = 0.39 │
00:00:39 #5274 [Verbose] > │ let v45 : float = 0.4 │
00:00:39 #5275 [Verbose] > │ let v46 : float = 0.41000000000000003 │
00:00:39 #5276 [Verbose] > │ let v47 : float = 0.42000000000000004 │
00:00:39 #5277 [Verbose] > │ let v48 : float = 0.43 │
00:00:39 #5278 [Verbose] > │ let v49 : float = 0.44 │
00:00:39 #5279 [Verbose] > │ let v50 : float = 0.45 │
00:00:39 #5280 [Verbose] > │ let v51 : float = 0.46 │
00:00:39 #5281 [Verbose] > │ let v52 : float = 0.47000000000000003 │
00:00:39 #5282 [Verbose] > │ let v53 : float = 0.48000000000000004 │
00:00:39 #5283 [Verbose] > │ let v54 : float = 0.49 │
00:00:39 #5284 [Verbose] > │ let v55 : float = 0.5 │
00:00:39 #5285 [Verbose] > │ let v56 : float = 0.51 │
00:00:39 #5286 [Verbose] > │ let v57 : float = 0.52 │
00:00:39 #5287 [Verbose] > │ let v58 : float = 0.53 │
00:00:39 #5288 [Verbose] > │ let v59 : float = 0.54 │
00:00:39 #5289 [Verbose] > │ let v60 : float = 0.55 │
00:00:39 #5290 [Verbose] > │ let v61 : float = 0.56 │
00:00:39 #5291 [Verbose] > │ let v62 : float = 0.5700000000000001 │
00:00:39 #5292 [Verbose] > │ let v63 : float = 0.5800000000000001 │
00:00:39 #5293 [Verbose] > │ let v64 : float = 0.59 │
00:00:39 #5294 [Verbose] > │ let v65 : float = 0.6 │
00:00:39 #5295 [Verbose] > │ let v66 : float = 0.61 │
00:00:39 #5296 [Verbose] > │ let v67 : float = 0.62 │
00:00:39 #5297 [Verbose] > │ let v68 : float = 0.63 │
00:00:39 #5298 [Verbose] > │ let v69 : float = 0.64 │
00:00:39 #5299 [Verbose] > │ let v70 : float = 0.65 │
00:00:39 #5300 [Verbose] > │ let v71 : UH0 = UH0_1 │
00:00:39 #5301 [Verbose] > │ let v72 : UH0 = UH0_0(v70, v71) │
00:00:39 #5302 [Verbose] > │ let v73 : UH0 = UH0_0(v69, v72) │
00:00:39 #5303 [Verbose] > │ let v74 : UH0 = UH0_0(v68, v73) │
00:00:39 #5304 [Verbose] > │ let v75 : UH0 = UH0_0(v67, v74) │
00:00:39 #5305 [Verbose] > │ let v76 : UH0 = UH0_0(v66, v75) │
00:00:39 #5306 [Verbose] > │ let v77 : UH0 = UH0_0(v65, v76) │
00:00:39 #5307 [Verbose] > │ let v78 : UH0 = UH0_0(v64, v77) │
00:00:39 #5308 [Verbose] > │ let v79 : UH0 = UH0_0(v63, v78) │
00:00:39 #5309 [Verbose] > │ let v80 : UH0 = UH0_0(v62, v79) │
00:00:39 #5310 [Verbose] > │ let v81 : UH0 = UH0_0(v61, v80) │
00:00:39 #5311 [Verbose] > │ let v82 : UH0 = UH0_0(v60, v81) │
00:00:39 #5312 [Verbose] > │ let v83 : UH0 = UH0_0(v59, v82) │
00:00:39 #5313 [Verbose] > │ let v84 : UH0 = UH0_0(v58, v83) │
00:00:39 #5314 [Verbose] > │ let v85 : UH0 = UH0_0(v57, v84) │
00:00:39 #5315 [Verbose] > │ let v86 : UH0 = UH0_0(v56, v85) │
00:00:39 #5316 [Verbose] > │ let v87 : UH0 = UH0_0(v55, v86) │
00:00:39 #5317 [Verbose] > │ let v88 : UH0 = UH0_0(v54, v87) │
00:00:39 #5318 [Verbose] > │ let v89 : UH0 = UH0_0(v53, v88) │
00:00:39 #5319 [Verbose] > │ let v90 : UH0 = UH0_0(v52, v89) │
00:00:39 #5320 [Verbose] > │ let v91 : UH0 = UH0_0(v51, v90) │
00:00:39 #5321 [Verbose] > │ let v92 : UH0 = UH0_0(v50, v91) │
00:00:39 #5322 [Verbose] > │ let v93 : UH0 = UH0_0(v49, v92) │
00:00:39 #5323 [Verbose] > │ let v94 : UH0 = UH0_0(v48, v93) │
00:00:39 #5324 [Verbose] > │ let v95 : UH0 = UH0_0(v47, v94) │
00:00:39 #5325 [Verbose] > │ let v96 : UH0 = UH0_0(v46, v95) │
00:00:39 #5326 [Verbose] > │ let v97 : UH0 = UH0_0(v45, v96) │
00:00:39 #5327 [Verbose] > │ let v98 : UH0 = UH0_0(v44, v97) │
00:00:39 #5328 [Verbose] > │ let v99 : UH0 = UH0_0(v43, v98) │
00:00:39 #5329 [Verbose] > │ let v100 : UH0 = UH0_0(v42, v99) │
00:00:39 #5330 [Verbose] > │ let v101 : UH0 = UH0_0(v41, v100) │
00:00:39 #5331 [Verbose] > │ let v102 : UH0 = UH0_0(v40, v101) │
00:00:39 #5332 [Verbose] > │ let v103 : UH0 = UH0_0(v39, v102) │
00:00:39 #5333 [Verbose] > │ let v104 : UH0 = UH0_0(v38, v103) │
00:00:39 #5334 [Verbose] > │ let v105 : UH0 = UH0_0(v37, v104) │
00:00:39 #5335 [Verbose] > │ let v106 : UH0 = UH0_0(v36, v105) │
00:00:39 #5336 [Verbose] > │ let v107 : UH0 = UH0_0(v35, v106) │
00:00:39 #5337 [Verbose] > │ let v108 : UH0 = UH0_0(v34, v107) │
00:00:39 #5338 [Verbose] > │ let v109 : UH0 = UH0_0(v33, v108) │
00:00:39 #5339 [Verbose] > │ let v110 : UH0 = UH0_0(v32, v109) │
00:00:39 #5340 [Verbose] > │ let v111 : UH0 = UH0_0(v31, v110) │
00:00:39 #5341 [Verbose] > │ let v112 : UH0 = UH0_0(v30, v111) │
00:00:39 #5342 [Verbose] > │ let v113 : UH0 = UH0_0(v29, v112) │
00:00:39 #5343 [Verbose] > │ let v114 : UH0 = UH0_0(v28, v113) │
00:00:39 #5344 [Verbose] > │ let v115 : UH0 = UH0_0(v27, v114) │
00:00:39 #5345 [Verbose] > │ let v116 : UH0 = UH0_0(v26, v115) │
00:00:39 #5346 [Verbose] > │ let v117 : UH0 = UH0_0(v25, v116) │
00:00:39 #5347 [Verbose] > │ let v118 : UH0 = UH0_0(v24, v117) │
00:00:39 #5348 [Verbose] > │ let v119 : UH0 = UH0_0(v23, v118) │
00:00:39 #5349 [Verbose] > │ let v120 : UH0 = UH0_0(v22, v119) │
00:00:39 #5350 [Verbose] > │ let v121 : UH0 = UH0_0(v21, v120) │
00:00:39 #5351 [Verbose] > │ let v122 : UH0 = UH0_0(v20, v121) │
00:00:39 #5352 [Verbose] > │ let v123 : UH0 = UH0_0(v19, v122) │
00:00:39 #5353 [Verbose] > │ let v124 : UH0 = UH0_0(v18, v123) │
00:00:39 #5354 [Verbose] > │ let v125 : UH0 = UH0_0(v17, v124) │
00:00:39 #5355 [Verbose] > │ let v126 : UH0 = UH0_0(v16, v125) │
00:00:39 #5356 [Verbose] > │ let v127 : UH0 = UH0_0(v15, v126) │
00:00:39 #5357 [Verbose] > │ let v128 : UH0 = UH0_0(v14, v127) │
00:00:39 #5358 [Verbose] > │ let v129 : UH0 = UH0_0(v13, v128) │
00:00:39 #5359 [Verbose] > │ let v130 : UH0 = UH0_0(v12, v129) │
00:00:39 #5360 [Verbose] > │ let v131 : UH0 = UH0_0(v11, v130) │
00:00:39 #5361 [Verbose] > │ let v132 : UH0 = UH0_0(v10, v131) │
00:00:39 #5362 [Verbose] > │ let v133 : UH0 = UH0_0(v9, v132) │
00:00:39 #5363 [Verbose] > │ let v134 : UH0 = UH0_0(v8, v133) │
00:00:39 #5364 [Verbose] > │ let v135 : UH0 = UH0_0(v7, v134) │
00:00:39 #5365 [Verbose] > │ let v136 : UH0 = UH0_0(v6, v135) │
00:00:39 #5366 [Verbose] > │ let v137 : UH0 = UH0_0(v5, v136) │
00:00:39 #5367 [Verbose] > │ let v138 : (float []) = method2(v137) │
00:00:39 #5368 [Verbose] > │ let v139 : float = 0.0 │
00:00:39 #5369 [Verbose] > │ let v140 : float = 0.0007224452478461068 │
00:00:39 #5370 [Verbose] > │ let v141 : float = 0.0014297283919934465 │
00:00:39 #5371 [Verbose] > │ let v142 : float = 0.0021070055388626454 │
00:00:39 #5372 [Verbose] > │ let v143 : float = 0.00274006253677335 │
00:00:39 #5373 [Verbose] > │ let v144 : float = 0.0033156132912039757 │
00:00:39 #5374 [Verbose] > │ let v145 : float = 0.0038215786027292415 │
00:00:39 #5375 [Verbose] > │ let v146 : float = 0.004247339675607605 │
00:00:39 #5376 [Verbose] > │ let v147 : float = 0.004583960976582912 │
00:00:39 #5377 [Verbose] > │ let v148 : float = 0.004824377766717757 │
00:00:39 #5378 [Verbose] > │ let v149 : float = 0.00496354437049027 │
00:00:39 #5379 [Verbose] > │ let v150 : float = 0.004998540070400965 │
00:00:39 #5380 [Verbose] > │ let v151 : float = 0.004928630404658255 │
00:00:39 #5381 [Verbose] > │ let v152 : float = 0.004755282581475768 │
00:00:39 #5382 [Verbose] > │ let v153 : float = 0.004482134686478519 │
00:00:39 #5383 [Verbose] > │ let v154 : float = 0.0041149193294682815 │
00:00:39 #5384 [Verbose] > │ let v155 : float = 0.0036613433329888666 │
00:00:39 #5385 [Verbose] > │ let v156 : float = 0.0031309259876915697 │
00:00:39 #5386 [Verbose] > │ let v157 : float = 0.002534799269067951 │
00:00:39 #5387 [Verbose] > │ let v158 : float = 0.0018854742084416015 │
00:00:39 #5388 [Verbose] > │ let v159 : float = 0.0011965783214377905 │
00:00:39 #5389 [Verbose] > │ let v160 : float = 0.00048256960457257535 │
00:00:39 #5390 [Verbose] > │ let v161 : float = -0.00024156689762753317 │
00:00:39 #5391 [Verbose] > │ let v162 : float = -0.0009606335867685418 │
00:00:39 #5392 [Verbose] > │ let v163 : float = -0.001659539265642642 │
00:00:39 #5393 [Verbose] > │ let v164 : float = -0.002323615860218842 │
00:00:39 #5394 [Verbose] > │ let v165 : float = -0.0029389262614623636 │
00:00:39 #5395 [Verbose] > │ let v166 : float = -0.003492556826244686 │
00:00:39 #5396 [Verbose] > │ let v167 : float = -0.003972888398568771 │
00:00:39 #5397 [Verbose] > │ let v168 : float = -0.00436984016313259 │
00:00:39 #5398 [Verbose] > │ let v169 : float = -0.004675081213427074 │
00:00:39 #5399 [Verbose] > │ let v170 : float = -0.004882205394146359 │
00:00:39 #5400 [Verbose] > │ let v171 : float = -0.004986865748457456 │
00:00:39 #5401 [Verbose] > │ let v172 : float = -0.004986865748457456 │
00:00:39 #5402 [Verbose] > │ let v173 : float = -0.004882205394146361 │
00:00:39 #5403 [Verbose] > │ let v174 : float = -0.004675081213427074 │
00:00:39 #5404 [Verbose] > │ let v175 : float = -0.004369840163132589 │
00:00:39 #5405 [Verbose] > │ let v176 : float = -0.003972888398568774 │
00:00:39 #5406 [Verbose] > │ let v177 : float = -0.0034925568262446837 │
00:00:39 #5407 [Verbose] > │ let v178 : float = -0.002938926261462367 │
00:00:39 #5408 [Verbose] > │ let v179 : float = -0.002323615860218846 │
00:00:39 #5409 [Verbose] > │ let v180 : float = -0.0016595392656426435 │
00:00:39 #5410 [Verbose] > │ let v181 : float = -0.0009606335867685414 │
00:00:39 #5411 [Verbose] > │ let v182 : float = -0.00024156689762753724 │
00:00:39 #5412 [Verbose] > │ let v183 : float = 0.0004825696045725713 │
00:00:39 #5413 [Verbose] > │ let v184 : float = 0.0011965783214377866 │
00:00:39 #5414 [Verbose] > │ let v185 : float = 0.0018854742084416021 │
00:00:39 #5415 [Verbose] > │ let v186 : float = 0.002534799269067953 │
00:00:39 #5416 [Verbose] > │ let v187 : float = 0.003130925987691568 │
00:00:39 #5417 [Verbose] > │ let v188 : float = 0.0036613433329888622 │
00:00:39 #5418 [Verbose] > │ let v189 : float = 0.0041149193294682815 │
00:00:39 #5419 [Verbose] > │ let v190 : float = 0.0044821346864785195 │
00:00:39 #5420 [Verbose] > │ let v191 : float = 0.004755282581475766 │
00:00:39 #5421 [Verbose] > │ let v192 : float = 0.004928630404658255 │
00:00:39 #5422 [Verbose] > │ let v193 : float = 0.004998540070400965 │
00:00:39 #5423 [Verbose] > │ let v194 : float = 0.004963544370490271 │
00:00:39 #5424 [Verbose] > │ let v195 : float = 0.004824377766717758 │
00:00:39 #5425 [Verbose] > │ let v196 : float = 0.004583960976582912 │
00:00:39 #5426 [Verbose] > │ let v197 : float = 0.004247339675607605 │
00:00:39 #5427 [Verbose] > │ let v198 : float = 0.003821578602729245 │
00:00:39 #5428 [Verbose] > │ let v199 : float = 0.0033156132912039783 │
00:00:39 #5429 [Verbose] > │ let v200 : float = 0.0027400625367733585 │
00:00:39 #5430 [Verbose] > │ let v201 : float = 0.0021070055388626528 │
00:00:39 #5431 [Verbose] > │ let v202 : float = 0.001429728391993452 │
00:00:39 #5432 [Verbose] > │ let v203 : float = 0.0007224452478461016 │
00:00:39 #5433 [Verbose] > │ let v204 : float = 0.0 │
00:00:39 #5434 [Verbose] > │ let v205 : UH0 = UH0_1 │
00:00:39 #5435 [Verbose] > │ let v206 : UH0 = UH0_0(v204, v205) │
00:00:39 #5436 [Verbose] > │ let v207 : UH0 = UH0_0(v203, v206) │
00:00:39 #5437 [Verbose] > │ let v208 : UH0 = UH0_0(v202, v207) │
00:00:39 #5438 [Verbose] > │ let v209 : UH0 = UH0_0(v201, v208) │
00:00:39 #5439 [Verbose] > │ let v210 : UH0 = UH0_0(v200, v209) │
00:00:39 #5440 [Verbose] > │ let v211 : UH0 = UH0_0(v199, v210) │
00:00:39 #5441 [Verbose] > │ let v212 : UH0 = UH0_0(v198, v211) │
00:00:39 #5442 [Verbose] > │ let v213 : UH0 = UH0_0(v197, v212) │
00:00:39 #5443 [Verbose] > │ let v214 : UH0 = UH0_0(v196, v213) │
00:00:39 #5444 [Verbose] > │ let v215 : UH0 = UH0_0(v195, v214) │
00:00:39 #5445 [Verbose] > │ let v216 : UH0 = UH0_0(v194, v215) │
00:00:39 #5446 [Verbose] > │ let v217 : UH0 = UH0_0(v193, v216) │
00:00:39 #5447 [Verbose] > │ let v218 : UH0 = UH0_0(v192, v217) │
00:00:39 #5448 [Verbose] > │ let v219 : UH0 = UH0_0(v191, v218) │
00:00:39 #5449 [Verbose] > │ let v220 : UH0 = UH0_0(v190, v219) │
00:00:39 #5450 [Verbose] > │ let v221 : UH0 = UH0_0(v189, v220) │
00:00:39 #5451 [Verbose] > │ let v222 : UH0 = UH0_0(v188, v221) │
00:00:39 #5452 [Verbose] > │ let v223 : UH0 = UH0_0(v187, v222) │
00:00:39 #5453 [Verbose] > │ let v224 : UH0 = UH0_0(v186, v223) │
00:00:39 #5454 [Verbose] > │ let v225 : UH0 = UH0_0(v185, v224) │
00:00:39 #5455 [Verbose] > │ let v226 : UH0 = UH0_0(v184, v225) │
00:00:39 #5456 [Verbose] > │ let v227 : UH0 = UH0_0(v183, v226) │
00:00:39 #5457 [Verbose] > │ let v228 : UH0 = UH0_0(v182, v227) │
00:00:39 #5458 [Verbose] > │ let v229 : UH0 = UH0_0(v181, v228) │
00:00:39 #5459 [Verbose] > │ let v230 : UH0 = UH0_0(v180, v229) │
00:00:39 #5460 [Verbose] > │ let v231 : UH0 = UH0_0(v179, v230) │
00:00:39 #5461 [Verbose] > │ let v232 : UH0 = UH0_0(v178, v231) │
00:00:39 #5462 [Verbose] > │ let v233 : UH0 = UH0_0(v177, v232) │
00:00:39 #5463 [Verbose] > │ let v234 : UH0 = UH0_0(v176, v233) │
00:00:39 #5464 [Verbose] > │ let v235 : UH0 = UH0_0(v175, v234) │
00:00:39 #5465 [Verbose] > │ let v236 : UH0 = UH0_0(v174, v235) │
00:00:39 #5466 [Verbose] > │ let v237 : UH0 = UH0_0(v173, v236) │
00:00:39 #5467 [Verbose] > │ let v238 : UH0 = UH0_0(v172, v237) │
00:00:39 #5468 [Verbose] > │ let v239 : UH0 = UH0_0(v171, v238) │
00:00:39 #5469 [Verbose] > │ let v240 : UH0 = UH0_0(v170, v239) │
00:00:39 #5470 [Verbose] > │ let v241 : UH0 = UH0_0(v169, v240) │
00:00:39 #5471 [Verbose] > │ let v242 : UH0 = UH0_0(v168, v241) │
00:00:39 #5472 [Verbose] > │ let v243 : UH0 = UH0_0(v167, v242) │
00:00:39 #5473 [Verbose] > │ let v244 : UH0 = UH0_0(v166, v243) │
00:00:39 #5474 [Verbose] > │ let v245 : UH0 = UH0_0(v165, v244) │
00:00:39 #5475 [Verbose] > │ let v246 : UH0 = UH0_0(v164, v245) │
00:00:39 #5476 [Verbose] > │ let v247 : UH0 = UH0_0(v163, v246) │
00:00:39 #5477 [Verbose] > │ let v248 : UH0 = UH0_0(v162, v247) │
00:00:39 #5478 [Verbose] > │ let v249 : UH0 = UH0_0(v161, v248) │
00:00:39 #5479 [Verbose] > │ let v250 : UH0 = UH0_0(v160, v249) │
00:00:39 #5480 [Verbose] > │ let v251 : UH0 = UH0_0(v159, v250) │
00:00:39 #5481 [Verbose] > │ let v252 : UH0 = UH0_0(v158, v251) │
00:00:39 #5482 [Verbose] > │ let v253 : UH0 = UH0_0(v157, v252) │
00:00:39 #5483 [Verbose] > │ let v254 : UH0 = UH0_0(v156, v253) │
00:00:39 #5484 [Verbose] > │ let v255 : UH0 = UH0_0(v155, v254) │
00:00:39 #5485 [Verbose] > │ let v256 : UH0 = UH0_0(v154, v255) │
00:00:39 #5486 [Verbose] > │ let v257 : UH0 = UH0_0(v153, v256) │
00:00:39 #5487 [Verbose] > │ let v258 : UH0 = UH0_0(v152, v257) │
00:00:39 #5488 [Verbose] > │ let v259 : UH0 = UH0_0(v151, v258) │
00:00:39 #5489 [Verbose] > │ let v260 : UH0 = UH0_0(v150, v259) │
00:00:39 #5490 [Verbose] > │ let v261 : UH0 = UH0_0(v149, v260) │
00:00:39 #5491 [Verbose] > │ let v262 : UH0 = UH0_0(v148, v261) │
00:00:39 #5492 [Verbose] > │ let v263 : UH0 = UH0_0(v147, v262) │
00:00:39 #5493 [Verbose] > │ let v264 : UH0 = UH0_0(v146, v263) │
00:00:39 #5494 [Verbose] > │ let v265 : UH0 = UH0_0(v145, v264) │
00:00:39 #5495 [Verbose] > │ let v266 : UH0 = UH0_0(v144, v265) │
00:00:39 #5496 [Verbose] > │ let v267 : UH0 = UH0_0(v143, v266) │
00:00:39 #5497 [Verbose] > │ let v268 : UH0 = UH0_0(v142, v267) │
00:00:39 #5498 [Verbose] > │ let v269 : UH0 = UH0_0(v141, v268) │
00:00:39 #5499 [Verbose] > │ let v270 : UH0 = UH0_0(v140, v269) │
00:00:39 #5500 [Verbose] > │ let v271 : UH0 = UH0_0(v139, v270) │
00:00:39 #5501 [Verbose] > │ let v272 : (float []) = method2(v271) │
00:00:39 #5502 [Verbose] > │ UH1_0(v138, v272, v4) │
00:00:39 #5503 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:39 #5504 [Verbose] > │ v1 │
00:00:39 #5505 [Verbose] > │ and method6 (v0 : UH1, v1 : int32) : int32 = │
00:00:39 #5506 [Verbose] > │ match v0 with │
00:00:39 #5507 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
00:00:39 #5508 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:39 #5509 [Verbose] > │ method6(v4, v5) │
00:00:39 #5510 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:39 #5511 [Verbose] > │ v1 │
00:00:39 #5512 [Verbose] > │ and method7 (v0 : (struct ((float []) * (float [])) []), v1 : UH1, v2 : │
00:00:39 #5513 [Verbose] > │ int32) : int32 = │
00:00:39 #5514 [Verbose] > │ match v1 with │
00:00:39 #5515 [Verbose] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
00:00:39 #5516 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:39 #5517 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:39 #5518 [Verbose] > │ method7(v0, v5, v6) │
00:00:39 #5519 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:39 #5520 [Verbose] > │ v2 │
00:00:39 #5521 [Verbose] > │ and method5 (v0 : UH1) : (struct ((float []) * (float [])) []) = │
00:00:39 #5522 [Verbose] > │ let v1 : int32 = 0 │
00:00:39 #5523 [Verbose] > │ let v2 : int32 = method6(v0, v1) │
00:00:39 #5524 [Verbose] > │ let v3 : (struct ((float []) * (float [])) []) = Array.zeroCreate<struct │
00:00:39 #5525 [Verbose] > │ ((float []) * (float []))> (v2) │
00:00:39 #5526 [Verbose] > │ let v4 : int32 = 0 │
00:00:39 #5527 [Verbose] > │ let v5 : int32 = method7(v3, v0, v4) │
00:00:39 #5528 [Verbose] > │ v3 │
00:00:39 #5529 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:39 #5530 [Verbose] > │ []) * (float [])) [])) = │
00:00:39 #5531 [Verbose] > │ let v0 : float = 0.0 │
00:00:39 #5532 [Verbose] > │ let v1 : float = 1.0 │
00:00:39 #5533 [Verbose] > │ let v2 : float = 2.0 │
00:00:39 #5534 [Verbose] > │ let v3 : float = 3.0 │
00:00:39 #5535 [Verbose] > │ let v4 : float = 4.0 │
00:00:39 #5536 [Verbose] > │ let v5 : float = 5.0 │
00:00:39 #5537 [Verbose] > │ let v6 : float = 6.0 │
00:00:39 #5538 [Verbose] > │ let v7 : float = 7.0 │
00:00:39 #5539 [Verbose] > │ let v8 : float = 8.0 │
00:00:39 #5540 [Verbose] > │ let v9 : float = 9.0 │
00:00:39 #5541 [Verbose] > │ let v10 : UH0 = UH0_1 │
00:00:39 #5542 [Verbose] > │ let v11 : UH0 = UH0_0(v9, v10) │
00:00:39 #5543 [Verbose] > │ let v12 : UH0 = UH0_0(v8, v11) │
00:00:39 #5544 [Verbose] > │ let v13 : UH0 = UH0_0(v7, v12) │
00:00:39 #5545 [Verbose] > │ let v14 : UH0 = UH0_0(v6, v13) │
00:00:39 #5546 [Verbose] > │ let v15 : UH0 = UH0_0(v5, v14) │
00:00:39 #5547 [Verbose] > │ let v16 : UH0 = UH0_0(v4, v15) │
00:00:39 #5548 [Verbose] > │ let v17 : UH0 = UH0_0(v3, v16) │
00:00:39 #5549 [Verbose] > │ let v18 : UH0 = UH0_0(v2, v17) │
00:00:39 #5550 [Verbose] > │ let v19 : UH0 = UH0_0(v1, v18) │
00:00:39 #5551 [Verbose] > │ let v20 : UH0 = UH0_0(v0, v19) │
00:00:39 #5552 [Verbose] > │ let v21 : UH1 = UH1_1 │
00:00:39 #5553 [Verbose] > │ let v22 : UH1 = method1(v20, v21) │
00:00:39 #5554 [Verbose] > │ let v23 : (struct ((float []) * (float [])) []) = method5(v22) │
00:00:39 #5555 [Verbose] > │ let struct (v24 : (float []), v25 : (float [])) = v23.[int 0] │
00:00:39 #5556 [Verbose] > │ let v26 : string = $"{0}" │
00:00:39 #5557 [Verbose] > │ let v27 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:39 #5558 [Verbose] > │ (v26, v24, v25)|] │
00:00:39 #5559 [Verbose] > │ let v28 : string = "wave" │
00:00:39 #5560 [Verbose] > │ let v29 : string = "position (m)" │
00:00:39 #5561 [Verbose] > │ let v30 : string = "displacement (m)" │
00:00:39 #5562 [Verbose] > │ struct (v28, v29, v30, v27) │
00:00:39 #5563 [Verbose] > │ method0() │
00:00:39 #5564 [Verbose] > │ │
00:00:39 #5565 [Verbose] > │ │
00:00:39 #5566 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:39 #5567 [Verbose] >
00:00:39 #5568 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:39 #5569 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:39 #5570 [Verbose] > │ ### system kinetic energy versus time 2 │
00:00:39 #5571 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:39 #5572 [Verbose] >
00:00:39 #5573 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:39 #5574 [Verbose] > // // test
00:00:39 #5575 [Verbose] >
00:00:39 #5576 [Verbose] > inl central_force f (particle_state st1) (particle_state st2) =
00:00:39 #5577 [Verbose] > inl r1 = st1.pos_vec
00:00:39 #5578 [Verbose] > inl r2 = st2.pos_vec
00:00:39 #5579 [Verbose] > inl r21 = r2 ^-^ r1
00:00:39 #5580 [Verbose] > inl r21mag = magnitude r21
00:00:39 #5581 [Verbose] > f r21mag *^ r21 ^/ r21mag
00:00:39 #5582 [Verbose] >
00:00:39 #5583 [Verbose] > inl billiard_force k re =
00:00:39 #5584 [Verbose] > inl f r =
00:00:39 #5585 [Verbose] > if r >= re
00:00:39 #5586 [Verbose] > then 0
00:00:39 #5587 [Verbose] > else -k * (r - re)
00:00:39 #5588 [Verbose] > central_force f
00:00:39 #5589 [Verbose] >
00:00:39 #5590 [Verbose] > type force_vector = vec
00:00:39 #5591 [Verbose] > type two_body_force = particle_state -> particle_state -> force_vector
00:00:39 #5592 [Verbose] >
00:00:39 #5593 [Verbose] > union force t =
00:00:39 #5594 [Verbose] > | ExternalForce : t * one_body_force
00:00:39 #5595 [Verbose] > | InternalForce : t * t * two_body_force
00:00:39 #5596 [Verbose] >
00:00:39 #5597 [Verbose] > nominal multi_particle_state = stream.stream particle_state
00:00:39 #5598 [Verbose] >
00:00:39 #5599 [Verbose] > nominal d_multi_particle_state = stream.stream d_particle_state
00:00:39 #5600 [Verbose] >
00:00:39 #5601 [Verbose] > inl force_on n s force =
00:00:39 #5602 [Verbose] > match force with
00:00:39 #5603 [Verbose] > | ExternalForce (n0, f_one_body) =>
00:00:39 #5604 [Verbose] > if n = n0
00:00:39 #5605 [Verbose] > then f_one_body
00:00:39 #5606 [Verbose] > else fun _ => zero_vec ()
00:00:39 #5607 [Verbose] > | InternalForce (n0, n1, f_two_body) =>
00:00:39 #5608 [Verbose] > if n = n0
00:00:39 #5609 [Verbose] > then s |> stream.try_item n1 |> optionm.map f_two_body
00:00:39 #5610 [Verbose] > elif n = n1
00:00:39 #5611 [Verbose] > then s |> stream.try_item n0 |> optionm.map f_two_body
00:00:39 #5612 [Verbose] > else None
00:00:39 #5613 [Verbose] > |> optionm'.default_value (fun _ => zero_vec ())
00:00:39 #5614 [Verbose] >
00:00:39 #5615 [Verbose] > inl forces_on n (multi_particle_state sts) fs =
00:00:39 #5616 [Verbose] > fs
00:00:39 #5617 [Verbose] > |> listm.map (force_on n sts)
00:00:39 #5618 [Verbose] >
00:00:39 #5619 [Verbose] > inl newton_second_mps fs ((multi_particle_state sts) as mpst) =
00:00:39 #5620 [Verbose] > inl deriv (n, st) =
00:00:39 #5621 [Verbose] > newton_second_ps (forces_on n mpst fs) st
00:00:39 #5622 [Verbose] > sts |> stream.indexed |> stream.map deriv |> d_multi_particle_state
00:00:39 #5623 [Verbose] >
00:00:39 #5624 [Verbose] > instance (+++) d_multi_particle_state =
00:00:39 #5625 [Verbose] > fun (d_multi_particle_state dsts1) (d_multi_particle_state dsts2) =>
00:00:39 #5626 [Verbose] > (dsts1, dsts2)
00:00:39 #5627 [Verbose] > ||> stream.zip_with (+++)
00:00:39 #5628 [Verbose] > |> d_multi_particle_state
00:00:39 #5629 [Verbose] >
00:00:39 #5630 [Verbose] > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
00:00:39 #5631 [Verbose] > dsts
00:00:39 #5632 [Verbose] > |> stream.map (scale w)
00:00:39 #5633 [Verbose] > |> d_multi_particle_state
00:00:39 #5634 [Verbose] >
00:00:39 #5635 [Verbose] > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
00:00:39 #5636 [Verbose] > inl (d_multi_particle_state dsts) =
00:00:39 #5637 [Verbose] > real
00:00:39 #5638 [Verbose] > match dsts with
00:00:39 #5639 [Verbose] > | d_multi_particle_state _ => dsts
00:00:39 #5640 [Verbose] > (dsts, sts)
00:00:39 #5641 [Verbose] > ||> stream.zip_with (shift dt)
00:00:39 #5642 [Verbose] > |> stream.memoize
00:00:39 #5643 [Verbose] > |> fun x => x ()
00:00:39 #5644 [Verbose] > |> multi_particle_state
00:00:39 #5645 [Verbose] >
00:00:39 #5646 [Verbose] > inl euler_cromer_mps dt : numerical_method multi_particle_state
00:00:39 #5647 [Verbose] > d_multi_particle_state =
00:00:39 #5648 [Verbose] > fun deriv ((multi_particle_state sts0) as mpst0) =>
00:00:39 #5649 [Verbose] > inl (multi_particle_state sts1) = euler dt deriv mpst0
00:00:39 #5650 [Verbose] > (sts0, sts1)
00:00:39 #5651 [Verbose] > ||> stream.zip
00:00:39 #5652 [Verbose] > |> stream.map (fun ((particle_state st0), (particle_state st1)) =>
00:00:39 #5653 [Verbose] > particle_state {
00:00:39 #5654 [Verbose] > st1 with
00:00:39 #5655 [Verbose] > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
00:00:39 #5656 [Verbose] > }
00:00:39 #5657 [Verbose] > )
00:00:39 #5658 [Verbose] > |> multi_particle_state
00:00:39 #5659 [Verbose] >
00:00:39 #5660 [Verbose] > inl update_mps (method : numerical_method multi_particle_state
00:00:39 #5661 [Verbose] > d_multi_particle_state) =
00:00:39 #5662 [Verbose] > newton_second_mps >> method
00:00:39 #5663 [Verbose] >
00:00:39 #5664 [Verbose] > inl states_mps (method : numerical_method multi_particle_state
00:00:39 #5665 [Verbose] > d_multi_particle_state) =
00:00:39 #5666 [Verbose] > newton_second_mps
00:00:39 #5667 [Verbose] > >> method
00:00:39 #5668 [Verbose] > >> (fun x (multi_particle_state y) =>
00:00:39 #5669 [Verbose] > y
00:00:39 #5670 [Verbose] > |> stream.memoize
00:00:39 #5671 [Verbose] > |> (fun x => x ())
00:00:39 #5672 [Verbose] > |> multi_particle_state |> x
00:00:39 #5673 [Verbose] > )
00:00:39 #5674 [Verbose] > // >> stream.iterate
00:00:39 #5675 [Verbose] > >> seq.iterate'
00:00:39 #5676 [Verbose] >
00:00:39 #5677 [Verbose] > inl kinetic_energy (particle_state st) =
00:00:39 #5678 [Verbose] > inl m = st.mass
00:00:39 #5679 [Verbose] > inl v = magnitude st.velocity
00:00:39 #5680 [Verbose] > 0.5 * m * v ** 2
00:00:39 #5681 [Verbose] >
00:00:39 #5682 [Verbose] > inl system_ke (multi_particle_state sts) =
00:00:39 #5683 [Verbose] > sts
00:00:39 #5684 [Verbose] > |> stream.map kinetic_energy
00:00:39 #5685 [Verbose] > |> stream.sum
00:00:39 #5686 [Verbose] >
00:00:39 #5687 [Verbose] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
00:00:39 #5688 [Verbose] > inl r1 = st1.pos_vec
00:00:39 #5689 [Verbose] > inl r2 = st2.pos_vec
00:00:39 #5690 [Verbose] > inl r21 = r2 ^-^ r1
00:00:39 #5691 [Verbose] > inl r21mag = magnitude r21
00:00:39 #5692 [Verbose] > k * (r21mag - re) ** 2 / 2
00:00:39 #5693 [Verbose] >
00:00:39 #5694 [Verbose] > inl earth_surface_gravity_pe (particle_state st) =
00:00:39 #5695 [Verbose] > inl g = 9.80665
00:00:39 #5696 [Verbose] > inl m = st.mass
00:00:39 #5697 [Verbose] > inl z = st.pos_vec.z
00:00:39 #5698 [Verbose] > m * g * z
00:00:39 #5699 [Verbose] >
00:00:39 #5700 [Verbose] > inl ball_radius () = 0.03
00:00:39 #5701 [Verbose] >
00:00:39 #5702 [Verbose] > inl billiard_forces k =
00:00:39 #5703 [Verbose] > [[ InternalForce (0i32, 1, billiard_force k (2 * ball_radius ())) ]]
00:00:39 #5704 [Verbose] >
00:00:39 #5705 [Verbose] > inl billiard_initial () =
00:00:39 #5706 [Verbose] > inl ball_mass = 0.160
00:00:39 #5707 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:39 #5708 [Verbose] > [[
00:00:39 #5709 [Verbose] > particle_state {
00:00:39 #5710 [Verbose] > default_particle_state' with
00:00:39 #5711 [Verbose] > mass = ball_mass
00:00:39 #5712 [Verbose] > pos_vec = zero_vec ()
00:00:39 #5713 [Verbose] > velocity = 0.2 *^ i_hat ()
00:00:39 #5714 [Verbose] > }
00:00:39 #5715 [Verbose] > particle_state {
00:00:39 #5716 [Verbose] > default_particle_state' with
00:00:39 #5717 [Verbose] > mass = ball_mass
00:00:39 #5718 [Verbose] > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
00:00:39 #5719 [Verbose] > velocity = zero_vec ()
00:00:39 #5720 [Verbose] > }
00:00:39 #5721 [Verbose] > ]]
00:00:39 #5722 [Verbose] > |> stream.from_list
00:00:39 #5723 [Verbose] > |> multi_particle_state
00:00:39 #5724 [Verbose] >
00:00:39 #5725 [Verbose] > inl billiard_states ~n_method k dt =
00:00:39 #5726 [Verbose] > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
00:00:39 #5727 [Verbose] >
00:00:39 #5728 [Verbose] > inl billiard_states_finite n_method k dt =
00:00:39 #5729 [Verbose] > billiard_states n_method k dt
00:00:39 #5730 [Verbose] > >> Some
00:00:39 #5731 [Verbose] > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
00:00:39 #5732 [Verbose] > match mpst |> stream.try_item 0i32 with
00:00:39 #5733 [Verbose] > | Some st =>
00:00:39 #5734 [Verbose] > st.time <= 10
00:00:39 #5735 [Verbose] > | None => false
00:00:39 #5736 [Verbose] > )
00:00:39 #5737 [Verbose] >
00:00:39 #5738 [Verbose] > inl momentum (particle_state st) =
00:00:39 #5739 [Verbose] > inl m = st.mass
00:00:39 #5740 [Verbose] > inl v = st.velocity
00:00:39 #5741 [Verbose] > m *^ v
00:00:39 #5742 [Verbose] >
00:00:39 #5743 [Verbose] > inl system_p (multi_particle_state sts) =
00:00:39 #5744 [Verbose] > sts
00:00:39 #5745 [Verbose] > |> stream.map momentum
00:00:39 #5746 [Verbose] > |> stream.fold (^+^) (zero_vec ())
00:00:39 #5747 [Verbose] >
00:00:39 #5748 [Verbose] > inl time_ke_ec_x, time_ke_ec_y =
00:00:39 #5749 [Verbose] > billiard_states_finite euler_cromer_mps 30 0.03
00:00:39 #5750 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:39 #5751 [Verbose] > mpst |> stream.try_item 0i32
00:00:39 #5752 [Verbose] > |> optionm.map (fun st =>
00:00:39 #5753 [Verbose] > st.time, system_ke (multi_particle_state mpst)
00:00:39 #5754 [Verbose] > )
00:00:39 #5755 [Verbose] > )
00:00:39 #5756 [Verbose] > // |> stream.to_list
00:00:39 #5757 [Verbose] > |> listm'.choose id
00:00:39 #5758 [Verbose] > |> listm'.unzip
00:00:39 #5759 [Verbose] >
00:00:39 #5760 [Verbose] > inl time_ke_rk4_x, time_ke_rk4_y =
00:00:39 #5761 [Verbose] > billiard_states_finite runge_kutta_4 30 0.03
00:00:39 #5762 [Verbose] > |> listm.map (fun (multi_particle_state mpst) =>
00:00:39 #5763 [Verbose] > mpst |> stream.try_item 0i32
00:00:39 #5764 [Verbose] > |> optionm.map (fun st =>
00:00:39 #5765 [Verbose] > st.time, system_ke (multi_particle_state mpst)
00:00:39 #5766 [Verbose] > )
00:00:39 #5767 [Verbose] > )
00:00:39 #5768 [Verbose] > // |> stream.to_list
00:00:39 #5769 [Verbose] > |> listm'.choose id
00:00:39 #5770 [Verbose] > |> listm'.unzip
00:00:39 #5771 [Verbose] >
00:00:39 #5772 [Verbose] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
00:00:39 #5773 [Verbose] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
00:00:39 #5774 [Verbose] >
00:00:39 #5775 [Verbose] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
00:00:39 #5776 [Verbose] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
00:00:39 #5777 [Verbose] >
00:00:39 #5778 [Verbose] > "system kinetic energy versus time",
00:00:39 #5779 [Verbose] > "time (s)",
00:00:39 #5780 [Verbose] > "system kinetic energy (j)",
00:00:39 #5781 [Verbose] > ;[[
00:00:39 #5782 [Verbose] > "euler-cromer", time_ke_ec_x, time_ke_ec_y
00:00:39 #5783 [Verbose] > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
00:00:39 #5784 [Verbose] > ]]
00:00:39 #5785 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-2081-8127-84a44fc30cfc\main.spi
00:00:41 #5786 [Verbose] >
00:00:41 #5787 [Verbose] > ╭─[ 2.22s - return value ]─────────────────────────────────────────────────────╮
00:00:41 #5788 [Verbose] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:00:41 #5789 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:41 #5790 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:41 #5791 [Verbose] > │ stroke="none"/> │
00:00:41 #5792 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:41 #5793 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:41 #5794 [Verbose] > │ fill="#FFFFFF"> │
00:00:41 #5795 [Verbose] > │ system kinetic energy versus time │
00:00:41 #5796 [Verbose] > │ </text> │
00:00:41 #5797 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:00:41 #5798 [Verbose] > │ y2="75"/> │
00:00:41 #5799 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:41 #5800 [Verbose] > │ y2="75"/> │
00:00:41 #5801 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:00:41 #5802 [Verbose] > │ y2="75"/> │
00:00:41 #5803 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:00:41 #5804 [Verbose] > │ y2="75"/> │
00:00:41 #5805 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1... │
00:00:41 #5806 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 #5807 [Verbose] >
00:00:41 #5808 [Verbose] > ╭─[ 2.23s - stdout ]───────────────────────────────────────────────────────────╮
00:00:41 #5809 [Verbose] > │ type UH0 = │
00:00:41 #5810 [Verbose] > │ | UH0_0 of float * float * float * float * float * float * float * float │
00:00:41 #5811 [Verbose] > │ * float * (unit -> UH0) │
00:00:41 #5812 [Verbose] > │ | UH0_1 │
00:00:41 #5813 [Verbose] > │ and UH1 = │
00:00:41 #5814 [Verbose] > │ | UH1_0 of float * float * float * float * float * float * float * float │
00:00:41 #5815 [Verbose] > │ * float * (unit -> UH1) │
00:00:41 #5816 [Verbose] > │ | UH1_1 │
00:00:41 #5817 [Verbose] > │ and [<Struct>] US0 = │
00:00:41 #5818 [Verbose] > │ | US0_0 of f0_0 : UH0 │
00:00:41 #5819 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │
00:00:41 #5820 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:41 #5821 [Verbose] > │ and UH2 = │
00:00:41 #5822 [Verbose] > │ | UH2_0 of float * float * float * float * float * float * float * float │
00:00:41 #5823 [Verbose] > │ * float * float * float * float * float * float * float * float * float * │
00:00:41 #5824 [Verbose] > │ float * (unit -> UH2) │
00:00:41 #5825 [Verbose] > │ | UH2_1 │
00:00:41 #5826 [Verbose] > │ and UH3 = │
00:00:41 #5827 [Verbose] > │ | UH3_0 of int32 * float * float * float * float * float * float * float │
00:00:41 #5828 [Verbose] > │ * float * float * (unit -> UH3) │
00:00:41 #5829 [Verbose] > │ | UH3_1 │
00:00:41 #5830 [Verbose] > │ and [<Struct>] US1 = │
00:00:41 #5831 [Verbose] > │ | US1_0 │
00:00:41 #5832 [Verbose] > │ | US1_1 of f1_0 : (struct (float * float * float * float * float * float │
00:00:41 #5833 [Verbose] > │ * float * float * float) -> struct (float * float * float)) │
00:00:41 #5834 [Verbose] > │ and [<Struct>] US2 = │
00:00:41 #5835 [Verbose] > │ | US2_0 │
00:00:41 #5836 [Verbose] > │ | US2_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
00:00:41 #5837 [Verbose] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
00:00:41 #5838 [Verbose] > │ and UH4 = │
00:00:41 #5839 [Verbose] > │ | UH4_0 of UH0 * UH4 │
00:00:41 #5840 [Verbose] > │ | UH4_1 │
00:00:41 #5841 [Verbose] > │ and UH5 = │
00:00:41 #5842 [Verbose] > │ | UH5_0 of int32 * UH5 │
00:00:41 #5843 [Verbose] > │ | UH5_1 │
00:00:41 #5844 [Verbose] > │ and [<Struct>] US3 = │
00:00:41 #5845 [Verbose] > │ | US3_0 │
00:00:41 #5846 [Verbose] > │ | US3_1 of f1_0 : float * f1_1 : float │
00:00:41 #5847 [Verbose] > │ and UH6 = │
00:00:41 #5848 [Verbose] > │ | UH6_0 of US3 * UH6 │
00:00:41 #5849 [Verbose] > │ | UH6_1 │
00:00:41 #5850 [Verbose] > │ and UH7 = │
00:00:41 #5851 [Verbose] > │ | UH7_0 of float * (unit -> UH7) │
00:00:41 #5852 [Verbose] > │ | UH7_1 │
00:00:41 #5853 [Verbose] > │ and UH8 = │
00:00:41 #5854 [Verbose] > │ | UH8_0 of float * float * UH8 │
00:00:41 #5855 [Verbose] > │ | UH8_1 │
00:00:41 #5856 [Verbose] > │ and UH9 = │
00:00:41 #5857 [Verbose] > │ | UH9_0 of float * UH9 │
00:00:41 #5858 [Verbose] > │ | UH9_1 │
00:00:41 #5859 [Verbose] > │ let rec closure3 (v0 : float, v1 : (unit -> UH0), v2 : (unit -> UH1)) () : │
00:00:41 #5860 [Verbose] > │ UH0 = │
00:00:41 #5861 [Verbose] > │ let v3 : UH1 = v2 () │
00:00:41 #5862 [Verbose] > │ let v4 : UH0 = v1 () │
00:00:41 #5863 [Verbose] > │ match v3 with │
00:00:41 #5864 [Verbose] > │ | UH1_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* StreamCons *) │
00:00:41 #5865 [Verbose] > │ match v4 with │
00:00:41 #5866 [Verbose] > │ | UH0_0(v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) -> (* │
00:00:41 #5867 [Verbose] > │ StreamCons *) │
00:00:41 #5868 [Verbose] > │ let v25 : float = v10 * v0 │
00:00:41 #5869 [Verbose] > │ let v26 : float = v20 + v25 │
00:00:41 #5870 [Verbose] > │ let v27 : float = v0 * v7 │
00:00:41 #5871 [Verbose] > │ let v28 : float = v0 * v8 │
00:00:41 #5872 [Verbose] > │ let v29 : float = v0 * v9 │
00:00:41 #5873 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:41 #5874 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:41 #5875 [Verbose] > │ let v32 : float = v19 + v29 │
00:00:41 #5876 [Verbose] > │ let v33 : float = v0 * v11 │
00:00:41 #5877 [Verbose] > │ let v34 : float = v0 * v12 │
00:00:41 #5878 [Verbose] > │ let v35 : float = v0 * v13 │
00:00:41 #5879 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:41 #5880 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:41 #5881 [Verbose] > │ let v38 : float = v23 + v35 │
00:00:41 #5882 [Verbose] > │ let v39 : (unit -> UH0) = closure3(v0, v24, v14) │
00:00:41 #5883 [Verbose] > │ UH0_0(v15, v16, v30, v31, v32, v26, v36, v37, v38, v39) │
00:00:41 #5884 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5885 [Verbose] > │ UH0_1 │
00:00:41 #5886 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #5887 [Verbose] > │ UH0_1 │
00:00:41 #5888 [Verbose] > │ and closure4 (v0 : UH0) () : UH0 = │
00:00:41 #5889 [Verbose] > │ v0 │
00:00:41 #5890 [Verbose] > │ and closure5 (v0 : UH0, v1 : Mut0) () : UH0 = │
00:00:41 #5891 [Verbose] > │ let v2 : US0 = v1.l0 │
00:00:41 #5892 [Verbose] > │ match v2 with │
00:00:41 #5893 [Verbose] > │ | US0_0(v3) -> (* Computed *) │
00:00:41 #5894 [Verbose] > │ v3 │
00:00:41 #5895 [Verbose] > │ | US0_1(v4) -> (* NotComputed *) │
00:00:41 #5896 [Verbose] > │ let v5 : UH0 = v4 () │
00:00:41 #5897 [Verbose] > │ let v20 : UH0 = │
00:00:41 #5898 [Verbose] > │ match v5 with │
00:00:41 #5899 [Verbose] > │ | UH0_0(v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> (* │
00:00:41 #5900 [Verbose] > │ StreamCons *) │
00:00:41 #5901 [Verbose] > │ let v17 : (unit -> UH0) = method1(v0, v16) │
00:00:41 #5902 [Verbose] > │ UH0_0(v7, v8, v9, v10, v11, v12, v13, v14, v15, v17) │
00:00:41 #5903 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5904 [Verbose] > │ UH0_1 │
00:00:41 #5905 [Verbose] > │ let v21 : US0 = US0_0(v20) │
00:00:41 #5906 [Verbose] > │ v1.l0 <- v21 │
00:00:41 #5907 [Verbose] > │ v20 │
00:00:41 #5908 [Verbose] > │ and method1 (v0 : UH0, v1 : (unit -> UH0)) : (unit -> UH0) = │
00:00:41 #5909 [Verbose] > │ let v2 : US0 = US0_1(v1) │
00:00:41 #5910 [Verbose] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │
00:00:41 #5911 [Verbose] > │ closure5(v0, v3) │
00:00:41 #5912 [Verbose] > │ and closure6 (v0 : (unit -> UH0), v1 : (unit -> UH0)) () : UH2 = │
00:00:41 #5913 [Verbose] > │ let v2 : UH0 = v1 () │
00:00:41 #5914 [Verbose] > │ let v3 : UH0 = v0 () │
00:00:41 #5915 [Verbose] > │ match v2 with │
00:00:41 #5916 [Verbose] > │ | UH0_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:41 #5917 [Verbose] > │ match v3 with │
00:00:41 #5918 [Verbose] > │ | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:41 #5919 [Verbose] > │ StreamCons *) │
00:00:41 #5920 [Verbose] > │ let v24 : (unit -> UH2) = closure6(v23, v13) │
00:00:41 #5921 [Verbose] > │ UH2_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v14, v15, v16, v17, │
00:00:41 #5922 [Verbose] > │ v18, v19, v20, v21, v22, v24) │
00:00:41 #5923 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5924 [Verbose] > │ UH2_1 │
00:00:41 #5925 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5926 [Verbose] > │ UH2_1 │
00:00:41 #5927 [Verbose] > │ and closure7 (v0 : UH0) () : UH0 = │
00:00:41 #5928 [Verbose] > │ v0 │
00:00:41 #5929 [Verbose] > │ and method2 (v0 : float, v1 : UH2, v2 : UH0) : UH0 = │
00:00:41 #5930 [Verbose] > │ match v1 with │
00:00:41 #5931 [Verbose] > │ | UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, │
00:00:41 #5932 [Verbose] > │ v17, v18, v19, v20, v21) -> (* StreamCons *) │
00:00:41 #5933 [Verbose] > │ let v22 : UH2 = v21 () │
00:00:41 #5934 [Verbose] > │ let v23 : UH0 = method2(v0, v22, v2) │
00:00:41 #5935 [Verbose] > │ let v24 : float = v0 * v18 │
00:00:41 #5936 [Verbose] > │ let v25 : float = v0 * v19 │
00:00:41 #5937 [Verbose] > │ let v26 : float = v0 * v20 │
00:00:41 #5938 [Verbose] > │ let v27 : float = v5 + v24 │
00:00:41 #5939 [Verbose] > │ let v28 : float = v6 + v25 │
00:00:41 #5940 [Verbose] > │ let v29 : float = v7 + v26 │
00:00:41 #5941 [Verbose] > │ let v30 : (unit -> UH0) = closure7(v23) │
00:00:41 #5942 [Verbose] > │ UH0_0(v12, v13, v27, v28, v29, v17, v18, v19, v20, v30) │
00:00:41 #5943 [Verbose] > │ | UH2_1 -> (* StreamNil *) │
00:00:41 #5944 [Verbose] > │ v2 │
00:00:41 #5945 [Verbose] > │ and closure2 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:41 #5946 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:41 #5947 [Verbose] > │ let v45 : UH0 = │
00:00:41 #5948 [Verbose] > │ match v3 with │
00:00:41 #5949 [Verbose] > │ | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons │
00:00:41 #5950 [Verbose] > │ *) │
00:00:41 #5951 [Verbose] > │ match v2 with │
00:00:41 #5952 [Verbose] > │ | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:41 #5953 [Verbose] > │ StreamCons *) │
00:00:41 #5954 [Verbose] > │ let v24 : float = v9 * v0 │
00:00:41 #5955 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:41 #5956 [Verbose] > │ let v26 : float = v0 * v6 │
00:00:41 #5957 [Verbose] > │ let v27 : float = v0 * v7 │
00:00:41 #5958 [Verbose] > │ let v28 : float = v0 * v8 │
00:00:41 #5959 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:41 #5960 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:41 #5961 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:41 #5962 [Verbose] > │ let v32 : float = v0 * v10 │
00:00:41 #5963 [Verbose] > │ let v33 : float = v0 * v11 │
00:00:41 #5964 [Verbose] > │ let v34 : float = v0 * v12 │
00:00:41 #5965 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:41 #5966 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:41 #5967 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:41 #5968 [Verbose] > │ let v38 : (unit -> UH0) = closure3(v0, v23, v13) │
00:00:41 #5969 [Verbose] > │ UH0_0(v14, v15, v29, v30, v31, v25, v35, v36, v37, v38) │
00:00:41 #5970 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5971 [Verbose] > │ UH0_1 │
00:00:41 #5972 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #5973 [Verbose] > │ UH0_1 │
00:00:41 #5974 [Verbose] > │ let v46 : (unit -> UH0) = closure4(v45) │
00:00:41 #5975 [Verbose] > │ let v47 : (unit -> UH0) = method1(v45, v46) │
00:00:41 #5976 [Verbose] > │ let v48 : UH0 = v47 () │
00:00:41 #5977 [Verbose] > │ let v76 : UH2 = │
00:00:41 #5978 [Verbose] > │ match v2 with │
00:00:41 #5979 [Verbose] > │ | UH0_0(v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) -> (* │
00:00:41 #5980 [Verbose] > │ StreamCons *) │
00:00:41 #5981 [Verbose] > │ match v48 with │
00:00:41 #5982 [Verbose] > │ | UH0_0(v59, v60, v61, v62, v63, v64, v65, v66, v67, v68) -> (* │
00:00:41 #5983 [Verbose] > │ StreamCons *) │
00:00:41 #5984 [Verbose] > │ let v69 : (unit -> UH2) = closure6(v68, v58) │
00:00:41 #5985 [Verbose] > │ UH2_0(v49, v50, v51, v52, v53, v54, v55, v56, v57, v59, v60, │
00:00:41 #5986 [Verbose] > │ v61, v62, v63, v64, v65, v66, v67, v69) │
00:00:41 #5987 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5988 [Verbose] > │ UH2_1 │
00:00:41 #5989 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #5990 [Verbose] > │ UH2_1 │
00:00:41 #5991 [Verbose] > │ let v77 : UH0 = UH0_1 │
00:00:41 #5992 [Verbose] > │ let v78 : UH0 = method2(v0, v76, v77) │
00:00:41 #5993 [Verbose] > │ v78 │
00:00:41 #5994 [Verbose] > │ and closure1 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:41 #5995 [Verbose] > │ closure2(v0, v1) │
00:00:41 #5996 [Verbose] > │ and closure0 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:41 #5997 [Verbose] > │ closure1(v0) │
00:00:41 #5998 [Verbose] > │ and closure9 (v0 : UH3) () : UH3 = │
00:00:41 #5999 [Verbose] > │ v0 │
00:00:41 #6000 [Verbose] > │ and method3 (v0 : UH0, v1 : UH3, v2 : int32) : struct (UH3 * int32) = │
00:00:41 #6001 [Verbose] > │ match v0 with │
00:00:41 #6002 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* StreamCons *) │
00:00:41 #6003 [Verbose] > │ let v13 : int32 = v2 + 1 │
00:00:41 #6004 [Verbose] > │ let v14 : UH0 = v12 () │
00:00:41 #6005 [Verbose] > │ let v15 : (unit -> UH3) = closure9(v1) │
00:00:41 #6006 [Verbose] > │ let v16 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v15) │
00:00:41 #6007 [Verbose] > │ method3(v14, v16, v13) │
00:00:41 #6008 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6009 [Verbose] > │ struct (v1, v2) │
00:00:41 #6010 [Verbose] > │ and closure10 (v0 : UH3) () : UH3 = │
00:00:41 #6011 [Verbose] > │ v0 │
00:00:41 #6012 [Verbose] > │ and method4 (v0 : UH3, v1 : UH3) : UH3 = │
00:00:41 #6013 [Verbose] > │ match v0 with │
00:00:41 #6014 [Verbose] > │ | UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* StreamCons │
00:00:41 #6015 [Verbose] > │ *) │
00:00:41 #6016 [Verbose] > │ let v13 : UH3 = v12 () │
00:00:41 #6017 [Verbose] > │ let v14 : (unit -> UH3) = closure10(v1) │
00:00:41 #6018 [Verbose] > │ let v15 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v14) │
00:00:41 #6019 [Verbose] > │ method4(v13, v15) │
00:00:41 #6020 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:41 #6021 [Verbose] > │ v1 │
00:00:41 #6022 [Verbose] > │ and method6 (v0 : int32, v1 : UH0) : US2 = │
00:00:41 #6023 [Verbose] > │ match v1 with │
00:00:41 #6024 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* StreamCons *) │
00:00:41 #6025 [Verbose] > │ let v12 : bool = v0 <= 0 │
00:00:41 #6026 [Verbose] > │ if v12 then │
00:00:41 #6027 [Verbose] > │ US2_1(v2, v3, v4, v5, v6, v7, v8, v9, v10) │
00:00:41 #6028 [Verbose] > │ else │
00:00:41 #6029 [Verbose] > │ let v14 : int32 = v0 - 1 │
00:00:41 #6030 [Verbose] > │ let v15 : UH0 = v11 () │
00:00:41 #6031 [Verbose] > │ method6(v14, v15) │
00:00:41 #6032 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6033 [Verbose] > │ US2_0 │
00:00:41 #6034 [Verbose] > │ and closure11 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │
00:00:41 #6035 [Verbose] > │ v5 : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
00:00:41 #6036 [Verbose] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:41 #6037 [Verbose] > │ : float, v17 : float) : struct (float * float * float) = │
00:00:41 #6038 [Verbose] > │ let v18 : float = -1.0 * v2 │
00:00:41 #6039 [Verbose] > │ let v19 : float = -1.0 * v3 │
00:00:41 #6040 [Verbose] > │ let v20 : float = -1.0 * v4 │
00:00:41 #6041 [Verbose] > │ let v21 : float = v11 + v18 │
00:00:41 #6042 [Verbose] > │ let v22 : float = v12 + v19 │
00:00:41 #6043 [Verbose] > │ let v23 : float = v13 + v20 │
00:00:41 #6044 [Verbose] > │ let v24 : float = v21 * v21 │
00:00:41 #6045 [Verbose] > │ let v25 : float = v22 * v22 │
00:00:41 #6046 [Verbose] > │ let v26 : float = v24 + v25 │
00:00:41 #6047 [Verbose] > │ let v27 : float = v23 * v23 │
00:00:41 #6048 [Verbose] > │ let v28 : float = v26 + v27 │
00:00:41 #6049 [Verbose] > │ let v29 : float = sqrt v28 │
00:00:41 #6050 [Verbose] > │ let v30 : bool = v29 >= 0.06 │
00:00:41 #6051 [Verbose] > │ let v33 : float = │
00:00:41 #6052 [Verbose] > │ if v30 then │
00:00:41 #6053 [Verbose] > │ 0.0 │
00:00:41 #6054 [Verbose] > │ else │
00:00:41 #6055 [Verbose] > │ let v31 : float = v29 - 0.06 │
00:00:41 #6056 [Verbose] > │ let v32 : float = -30.0 * v31 │
00:00:41 #6057 [Verbose] > │ v32 │
00:00:41 #6058 [Verbose] > │ let v34 : float = v33 * v21 │
00:00:41 #6059 [Verbose] > │ let v35 : float = v33 * v22 │
00:00:41 #6060 [Verbose] > │ let v36 : float = v33 * v23 │
00:00:41 #6061 [Verbose] > │ let v37 : float = v34 / v29 │
00:00:41 #6062 [Verbose] > │ let v38 : float = v35 / v29 │
00:00:41 #6063 [Verbose] > │ let v39 : float = v36 / v29 │
00:00:41 #6064 [Verbose] > │ struct (v37, v38, v39) │
00:00:41 #6065 [Verbose] > │ and closure12 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:41 #6066 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:41 #6067 [Verbose] > │ float * float) = │
00:00:41 #6068 [Verbose] > │ struct (0.0, 0.0, 0.0) │
00:00:41 #6069 [Verbose] > │ and closure13 (v0 : UH1) () : UH1 = │
00:00:41 #6070 [Verbose] > │ v0 │
00:00:41 #6071 [Verbose] > │ and method5 (v0 : UH0, v1 : UH3, v2 : UH1) : UH1 = │
00:00:41 #6072 [Verbose] > │ match v1 with │
00:00:41 #6073 [Verbose] > │ | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons │
00:00:41 #6074 [Verbose] > │ *) │
00:00:41 #6075 [Verbose] > │ let v14 : UH3 = v13 () │
00:00:41 #6076 [Verbose] > │ let v15 : UH1 = method5(v0, v14, v2) │
00:00:41 #6077 [Verbose] > │ let v16 : bool = v3 = 0 │
00:00:41 #6078 [Verbose] > │ let v52 : US1 = │
00:00:41 #6079 [Verbose] > │ if v16 then │
00:00:41 #6080 [Verbose] > │ let v17 : int32 = 1 │
00:00:41 #6081 [Verbose] > │ let v18 : US2 = method6(v17, v0) │
00:00:41 #6082 [Verbose] > │ match v18 with │
00:00:41 #6083 [Verbose] > │ | US2_0 -> (* None *) │
00:00:41 #6084 [Verbose] > │ US1_0 │
00:00:41 #6085 [Verbose] > │ | US2_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* │
00:00:41 #6086 [Verbose] > │ Some *) │
00:00:41 #6087 [Verbose] > │ let v28 : (struct (float * float * float * float * float │
00:00:41 #6088 [Verbose] > │ * float * float * float * float) -> struct (float * float * float)) = │
00:00:41 #6089 [Verbose] > │ closure11(v19, v20, v21, v22, v23, v24, v25, v26, v27) │
00:00:41 #6090 [Verbose] > │ US1_1(v28) │
00:00:41 #6091 [Verbose] > │ else │
00:00:41 #6092 [Verbose] > │ let v33 : bool = v3 = 1 │
00:00:41 #6093 [Verbose] > │ if v33 then │
00:00:41 #6094 [Verbose] > │ let v34 : int32 = 0 │
00:00:41 #6095 [Verbose] > │ let v35 : US2 = method6(v34, v0) │
00:00:41 #6096 [Verbose] > │ match v35 with │
00:00:41 #6097 [Verbose] > │ | US2_0 -> (* None *) │
00:00:41 #6098 [Verbose] > │ US1_0 │
00:00:41 #6099 [Verbose] > │ | US2_1(v36, v37, v38, v39, v40, v41, v42, v43, v44) -> │
00:00:41 #6100 [Verbose] > │ (* Some *) │
00:00:41 #6101 [Verbose] > │ let v45 : (struct (float * float * float * float * │
00:00:41 #6102 [Verbose] > │ float * float * float * float * float) -> struct (float * float * float)) = │
00:00:41 #6103 [Verbose] > │ closure11(v36, v37, v38, v39, v40, v41, v42, v43, v44) │
00:00:41 #6104 [Verbose] > │ US1_1(v45) │
00:00:41 #6105 [Verbose] > │ else │
00:00:41 #6106 [Verbose] > │ US1_0 │
00:00:41 #6107 [Verbose] > │ let v56 : (struct (float * float * float * float * float * float * │
00:00:41 #6108 [Verbose] > │ float * float * float) -> struct (float * float * float)) = │
00:00:41 #6109 [Verbose] > │ match v52 with │
00:00:41 #6110 [Verbose] > │ | US1_0 -> (* None *) │
00:00:41 #6111 [Verbose] > │ closure12() │
00:00:41 #6112 [Verbose] > │ | US1_1(v53) -> (* Some *) │
00:00:41 #6113 [Verbose] > │ v53 │
00:00:41 #6114 [Verbose] > │ let struct (v57 : float, v58 : float, v59 : float) = v56 struct (v4, │
00:00:41 #6115 [Verbose] > │ v5, v6, v7, v8, v9, v10, v11, v12) │
00:00:41 #6116 [Verbose] > │ let v60 : float = v57 / v5 │
00:00:41 #6117 [Verbose] > │ let v61 : float = v58 / v5 │
00:00:41 #6118 [Verbose] > │ let v62 : float = v59 / v5 │
00:00:41 #6119 [Verbose] > │ let v63 : (unit -> UH1) = closure13(v15) │
00:00:41 #6120 [Verbose] > │ UH1_0(0.0, 0.0, v10, v11, v12, 1.0, v60, v61, v62, v63) │
00:00:41 #6121 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:41 #6122 [Verbose] > │ v2 │
00:00:41 #6123 [Verbose] > │ and closure8 () (v0 : UH0) : UH1 = │
00:00:41 #6124 [Verbose] > │ let v1 : UH3 = UH3_1 │
00:00:41 #6125 [Verbose] > │ let v2 : int32 = 0 │
00:00:41 #6126 [Verbose] > │ let struct (v3 : UH3, v4 : int32) = method3(v0, v1, v2) │
00:00:41 #6127 [Verbose] > │ let v5 : UH3 = UH3_1 │
00:00:41 #6128 [Verbose] > │ let v6 : UH3 = method4(v3, v5) │
00:00:41 #6129 [Verbose] > │ let v7 : UH1 = UH1_1 │
00:00:41 #6130 [Verbose] > │ let v8 : UH1 = method5(v0, v6, v7) │
00:00:41 #6131 [Verbose] > │ v8 │
00:00:41 #6132 [Verbose] > │ and method8 (v0 : int32, v1 : int32) : UH5 = │
00:00:41 #6133 [Verbose] > │ let v2 : bool = v1 < v0 │
00:00:41 #6134 [Verbose] > │ if v2 then │
00:00:41 #6135 [Verbose] > │ let v3 : int32 = v1 + 1 │
00:00:41 #6136 [Verbose] > │ let v4 : UH5 = method8(v0, v3) │
00:00:41 #6137 [Verbose] > │ UH5_0(v1, v4) │
00:00:41 #6138 [Verbose] > │ else │
00:00:41 #6139 [Verbose] > │ UH5_1 │
00:00:41 #6140 [Verbose] > │ and closure15 () () : UH0 = │
00:00:41 #6141 [Verbose] > │ UH0_1 │
00:00:41 #6142 [Verbose] > │ and closure14 () () : UH0 = │
00:00:41 #6143 [Verbose] > │ let v0 : (unit -> UH0) = closure15() │
00:00:41 #6144 [Verbose] > │ UH0_0(0.0, 0.16, 1.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:41 #6145 [Verbose] > │ and method9 (v0 : (UH0 -> UH0), v1 : UH5, v2 : UH0) : UH0 = │
00:00:41 #6146 [Verbose] > │ match v1 with │
00:00:41 #6147 [Verbose] > │ | UH5_0(v3, v4) -> (* Cons *) │
00:00:41 #6148 [Verbose] > │ let v5 : (unit -> UH0) = closure4(v2) │
00:00:41 #6149 [Verbose] > │ let v6 : (unit -> UH0) = method1(v2, v5) │
00:00:41 #6150 [Verbose] > │ let v7 : UH0 = v6 () │
00:00:41 #6151 [Verbose] > │ let v8 : UH0 = v0 v7 │
00:00:41 #6152 [Verbose] > │ method9(v0, v4, v8) │
00:00:41 #6153 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:41 #6154 [Verbose] > │ v2 │
00:00:41 #6155 [Verbose] > │ and method10 (v0 : UH4, v1 : UH4) : UH4 = │
00:00:41 #6156 [Verbose] > │ match v0 with │
00:00:41 #6157 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:41 #6158 [Verbose] > │ let v4 : UH4 = UH4_0(v2, v1) │
00:00:41 #6159 [Verbose] > │ method10(v3, v4) │
00:00:41 #6160 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:41 #6161 [Verbose] > │ v1 │
00:00:41 #6162 [Verbose] > │ and method7 (v0 : (UH0 -> UH0), v1 : UH4, v2 : int32) : UH4 = │
00:00:41 #6163 [Verbose] > │ let v3 : int32 = 0 │
00:00:41 #6164 [Verbose] > │ let v4 : UH5 = method8(v2, v3) │
00:00:41 #6165 [Verbose] > │ let v5 : float = 0.0 │
00:00:41 #6166 [Verbose] > │ let v6 : float = 0.16 │
00:00:41 #6167 [Verbose] > │ let v7 : float = 0.0 │
00:00:41 #6168 [Verbose] > │ let v8 : float = 0.0 │
00:00:41 #6169 [Verbose] > │ let v9 : float = 0.0 │
00:00:41 #6170 [Verbose] > │ let v10 : float = 0.0 │
00:00:41 #6171 [Verbose] > │ let v11 : float = 0.2 │
00:00:41 #6172 [Verbose] > │ let v12 : float = 0.0 │
00:00:41 #6173 [Verbose] > │ let v13 : float = 0.0 │
00:00:41 #6174 [Verbose] > │ let v14 : (unit -> UH0) = closure14() │
00:00:41 #6175 [Verbose] > │ let v15 : UH0 = UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) │
00:00:41 #6176 [Verbose] > │ let v16 : UH0 = method9(v0, v4, v15) │
00:00:41 #6177 [Verbose] > │ let v17 : int32 = 0 │
00:00:41 #6178 [Verbose] > │ let v18 : US2 = method6(v17, v16) │
00:00:41 #6179 [Verbose] > │ let v30 : bool = │
00:00:41 #6180 [Verbose] > │ match v18 with │
00:00:41 #6181 [Verbose] > │ | US2_0 -> (* None *) │
00:00:41 #6182 [Verbose] > │ false │
00:00:41 #6183 [Verbose] > │ | US2_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some *) │
00:00:41 #6184 [Verbose] > │ let v28 : bool = v24 <= 10.0 │
00:00:41 #6185 [Verbose] > │ v28 │
00:00:41 #6186 [Verbose] > │ if v30 then │
00:00:41 #6187 [Verbose] > │ let v31 : UH4 = UH4_0(v16, v1) │
00:00:41 #6188 [Verbose] > │ let v32 : int32 = v2 + 1 │
00:00:41 #6189 [Verbose] > │ method7(v0, v31, v32) │
00:00:41 #6190 [Verbose] > │ else │
00:00:41 #6191 [Verbose] > │ let v34 : UH4 = UH4_1 │
00:00:41 #6192 [Verbose] > │ method10(v1, v34) │
00:00:41 #6193 [Verbose] > │ and closure16 (v0 : UH7) () : UH7 = │
00:00:41 #6194 [Verbose] > │ v0 │
00:00:41 #6195 [Verbose] > │ and method12 (v0 : UH0, v1 : UH7) : UH7 = │
00:00:41 #6196 [Verbose] > │ match v0 with │
00:00:41 #6197 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* StreamCons *) │
00:00:41 #6198 [Verbose] > │ let v12 : UH0 = v11 () │
00:00:41 #6199 [Verbose] > │ let v13 : UH7 = method12(v12, v1) │
00:00:41 #6200 [Verbose] > │ let v14 : float = v8 * v8 │
00:00:41 #6201 [Verbose] > │ let v15 : float = v9 * v9 │
00:00:41 #6202 [Verbose] > │ let v16 : float = v14 + v15 │
00:00:41 #6203 [Verbose] > │ let v17 : float = v10 * v10 │
00:00:41 #6204 [Verbose] > │ let v18 : float = v16 + v17 │
00:00:41 #6205 [Verbose] > │ let v19 : float = sqrt v18 │
00:00:41 #6206 [Verbose] > │ let v20 : float = 0.5 * v3 │
00:00:41 #6207 [Verbose] > │ let v21 : float = v19 ** 2.0 │
00:00:41 #6208 [Verbose] > │ let v22 : float = v20 * v21 │
00:00:41 #6209 [Verbose] > │ let v23 : (unit -> UH7) = closure16(v13) │
00:00:41 #6210 [Verbose] > │ UH7_0(v22, v23) │
00:00:41 #6211 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6212 [Verbose] > │ v1 │
00:00:41 #6213 [Verbose] > │ and method13 (v0 : UH7, v1 : float) : float = │
00:00:41 #6214 [Verbose] > │ match v0 with │
00:00:41 #6215 [Verbose] > │ | UH7_0(v2, v3) -> (* StreamCons *) │
00:00:41 #6216 [Verbose] > │ let v4 : float = v1 + v2 │
00:00:41 #6217 [Verbose] > │ let v5 : UH7 = v3 () │
00:00:41 #6218 [Verbose] > │ method13(v5, v4) │
00:00:41 #6219 [Verbose] > │ | UH7_1 -> (* StreamNil *) │
00:00:41 #6220 [Verbose] > │ v1 │
00:00:41 #6221 [Verbose] > │ and method11 (v0 : UH4, v1 : UH6) : UH6 = │
00:00:41 #6222 [Verbose] > │ match v0 with │
00:00:41 #6223 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:41 #6224 [Verbose] > │ let v4 : UH6 = method11(v3, v1) │
00:00:41 #6225 [Verbose] > │ let v5 : int32 = 0 │
00:00:41 #6226 [Verbose] > │ let v6 : US2 = method6(v5, v2) │
00:00:41 #6227 [Verbose] > │ let v23 : US3 = │
00:00:41 #6228 [Verbose] > │ match v6 with │
00:00:41 #6229 [Verbose] > │ | US2_0 -> (* None *) │
00:00:41 #6230 [Verbose] > │ US3_0 │
00:00:41 #6231 [Verbose] > │ | US2_1(v7, v8, v9, v10, v11, v12, v13, v14, v15) -> (* Some *) │
00:00:41 #6232 [Verbose] > │ let v16 : UH7 = UH7_1 │
00:00:41 #6233 [Verbose] > │ let v17 : UH7 = method12(v2, v16) │
00:00:41 #6234 [Verbose] > │ let v18 : float = 0.0 │
00:00:41 #6235 [Verbose] > │ let v19 : float = method13(v17, v18) │
00:00:41 #6236 [Verbose] > │ US3_1(v12, v19) │
00:00:41 #6237 [Verbose] > │ UH6_0(v23, v4) │
00:00:41 #6238 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:41 #6239 [Verbose] > │ v1 │
00:00:41 #6240 [Verbose] > │ and method14 (v0 : UH6, v1 : UH8) : UH8 = │
00:00:41 #6241 [Verbose] > │ match v0 with │
00:00:41 #6242 [Verbose] > │ | UH6_0(v2, v3) -> (* Cons *) │
00:00:41 #6243 [Verbose] > │ let v4 : UH8 = method14(v3, v1) │
00:00:41 #6244 [Verbose] > │ match v2 with │
00:00:41 #6245 [Verbose] > │ | US3_0 -> (* None *) │
00:00:41 #6246 [Verbose] > │ v4 │
00:00:41 #6247 [Verbose] > │ | US3_1(v5, v6) -> (* Some *) │
00:00:41 #6248 [Verbose] > │ UH8_0(v5, v6, v4) │
00:00:41 #6249 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:41 #6250 [Verbose] > │ v1 │
00:00:41 #6251 [Verbose] > │ and method15 (v0 : UH8, v1 : UH9, v2 : UH9) : struct (UH9 * UH9) = │
00:00:41 #6252 [Verbose] > │ match v0 with │
00:00:41 #6253 [Verbose] > │ | UH8_0(v3, v4, v5) -> (* Cons *) │
00:00:41 #6254 [Verbose] > │ let v6 : UH9 = UH9_0(v3, v1) │
00:00:41 #6255 [Verbose] > │ let v7 : UH9 = UH9_0(v4, v2) │
00:00:41 #6256 [Verbose] > │ method15(v5, v6, v7) │
00:00:41 #6257 [Verbose] > │ | UH8_1 -> (* Nil *) │
00:00:41 #6258 [Verbose] > │ struct (v1, v2) │
00:00:41 #6259 [Verbose] > │ and method16 (v0 : UH9, v1 : UH9) : UH9 = │
00:00:41 #6260 [Verbose] > │ match v0 with │
00:00:41 #6261 [Verbose] > │ | UH9_0(v2, v3) -> (* Cons *) │
00:00:41 #6262 [Verbose] > │ let v4 : UH9 = UH9_0(v2, v1) │
00:00:41 #6263 [Verbose] > │ method16(v3, v4) │
00:00:41 #6264 [Verbose] > │ | UH9_1 -> (* Nil *) │
00:00:41 #6265 [Verbose] > │ v1 │
00:00:41 #6266 [Verbose] > │ and closure20 (v0 : (unit -> UH1), v1 : (unit -> UH1)) () : UH1 = │
00:00:41 #6267 [Verbose] > │ let v2 : UH1 = v1 () │
00:00:41 #6268 [Verbose] > │ let v3 : UH1 = v0 () │
00:00:41 #6269 [Verbose] > │ match v2 with │
00:00:41 #6270 [Verbose] > │ | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:41 #6271 [Verbose] > │ match v3 with │
00:00:41 #6272 [Verbose] > │ | UH1_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:41 #6273 [Verbose] > │ StreamCons *) │
00:00:41 #6274 [Verbose] > │ let v24 : float = v4 + v14 │
00:00:41 #6275 [Verbose] > │ let v25 : float = v5 + v15 │
00:00:41 #6276 [Verbose] > │ let v26 : float = v9 + v19 │
00:00:41 #6277 [Verbose] > │ let v27 : float = v6 + v16 │
00:00:41 #6278 [Verbose] > │ let v28 : float = v7 + v17 │
00:00:41 #6279 [Verbose] > │ let v29 : float = v8 + v18 │
00:00:41 #6280 [Verbose] > │ let v30 : float = v10 + v20 │
00:00:41 #6281 [Verbose] > │ let v31 : float = v11 + v21 │
00:00:41 #6282 [Verbose] > │ let v32 : float = v12 + v22 │
00:00:41 #6283 [Verbose] > │ let v33 : (unit -> UH1) = closure20(v23, v13) │
00:00:41 #6284 [Verbose] > │ UH1_0(v24, v25, v27, v28, v29, v26, v30, v31, v32, v33) │
00:00:41 #6285 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6286 [Verbose] > │ UH1_1 │
00:00:41 #6287 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6288 [Verbose] > │ UH1_1 │
00:00:41 #6289 [Verbose] > │ and closure19 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
00:00:41 #6290 [Verbose] > │ let v3 : UH1 = v1 v2 │
00:00:41 #6291 [Verbose] > │ let v4 : float = v0 / 2.0 │
00:00:41 #6292 [Verbose] > │ let v46 : UH0 = │
00:00:41 #6293 [Verbose] > │ match v3 with │
00:00:41 #6294 [Verbose] > │ | UH1_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* │
00:00:41 #6295 [Verbose] > │ StreamCons *) │
00:00:41 #6296 [Verbose] > │ match v2 with │
00:00:41 #6297 [Verbose] > │ | UH0_0(v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) -> (* │
00:00:41 #6298 [Verbose] > │ StreamCons *) │
00:00:41 #6299 [Verbose] > │ let v25 : float = v10 * v4 │
00:00:41 #6300 [Verbose] > │ let v26 : float = v20 + v25 │
00:00:41 #6301 [Verbose] > │ let v27 : float = v4 * v7 │
00:00:41 #6302 [Verbose] > │ let v28 : float = v4 * v8 │
00:00:41 #6303 [Verbose] > │ let v29 : float = v4 * v9 │
00:00:41 #6304 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:41 #6305 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:41 #6306 [Verbose] > │ let v32 : float = v19 + v29 │
00:00:41 #6307 [Verbose] > │ let v33 : float = v4 * v11 │
00:00:41 #6308 [Verbose] > │ let v34 : float = v4 * v12 │
00:00:41 #6309 [Verbose] > │ let v35 : float = v4 * v13 │
00:00:41 #6310 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:41 #6311 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:41 #6312 [Verbose] > │ let v38 : float = v23 + v35 │
00:00:41 #6313 [Verbose] > │ let v39 : (unit -> UH0) = closure3(v4, v24, v14) │
00:00:41 #6314 [Verbose] > │ UH0_0(v15, v16, v30, v31, v32, v26, v36, v37, v38, v39) │
00:00:41 #6315 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6316 [Verbose] > │ UH0_1 │
00:00:41 #6317 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6318 [Verbose] > │ UH0_1 │
00:00:41 #6319 [Verbose] > │ let v47 : (unit -> UH0) = closure4(v46) │
00:00:41 #6320 [Verbose] > │ let v48 : (unit -> UH0) = method1(v46, v47) │
00:00:41 #6321 [Verbose] > │ let v49 : UH0 = v48 () │
00:00:41 #6322 [Verbose] > │ let v50 : UH1 = v1 v49 │
00:00:41 #6323 [Verbose] > │ let v92 : UH0 = │
00:00:41 #6324 [Verbose] > │ match v50 with │
00:00:41 #6325 [Verbose] > │ | UH1_0(v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) -> (* │
00:00:41 #6326 [Verbose] > │ StreamCons *) │
00:00:41 #6327 [Verbose] > │ match v2 with │
00:00:41 #6328 [Verbose] > │ | UH0_0(v61, v62, v63, v64, v65, v66, v67, v68, v69, v70) -> (* │
00:00:41 #6329 [Verbose] > │ StreamCons *) │
00:00:41 #6330 [Verbose] > │ let v71 : float = v56 * v4 │
00:00:41 #6331 [Verbose] > │ let v72 : float = v66 + v71 │
00:00:41 #6332 [Verbose] > │ let v73 : float = v4 * v53 │
00:00:41 #6333 [Verbose] > │ let v74 : float = v4 * v54 │
00:00:41 #6334 [Verbose] > │ let v75 : float = v4 * v55 │
00:00:41 #6335 [Verbose] > │ let v76 : float = v63 + v73 │
00:00:41 #6336 [Verbose] > │ let v77 : float = v64 + v74 │
00:00:41 #6337 [Verbose] > │ let v78 : float = v65 + v75 │
00:00:41 #6338 [Verbose] > │ let v79 : float = v4 * v57 │
00:00:41 #6339 [Verbose] > │ let v80 : float = v4 * v58 │
00:00:41 #6340 [Verbose] > │ let v81 : float = v4 * v59 │
00:00:41 #6341 [Verbose] > │ let v82 : float = v67 + v79 │
00:00:41 #6342 [Verbose] > │ let v83 : float = v68 + v80 │
00:00:41 #6343 [Verbose] > │ let v84 : float = v69 + v81 │
00:00:41 #6344 [Verbose] > │ let v85 : (unit -> UH0) = closure3(v4, v70, v60) │
00:00:41 #6345 [Verbose] > │ UH0_0(v61, v62, v76, v77, v78, v72, v82, v83, v84, v85) │
00:00:41 #6346 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6347 [Verbose] > │ UH0_1 │
00:00:41 #6348 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6349 [Verbose] > │ UH0_1 │
00:00:41 #6350 [Verbose] > │ let v93 : (unit -> UH0) = closure4(v92) │
00:00:41 #6351 [Verbose] > │ let v94 : (unit -> UH0) = method1(v92, v93) │
00:00:41 #6352 [Verbose] > │ let v95 : UH0 = v94 () │
00:00:41 #6353 [Verbose] > │ let v96 : UH1 = v1 v95 │
00:00:41 #6354 [Verbose] > │ let v138 : UH0 = │
00:00:41 #6355 [Verbose] > │ match v96 with │
00:00:41 #6356 [Verbose] > │ | UH1_0(v97, v98, v99, v100, v101, v102, v103, v104, v105, v106) -> │
00:00:41 #6357 [Verbose] > │ (* StreamCons *) │
00:00:41 #6358 [Verbose] > │ match v2 with │
00:00:41 #6359 [Verbose] > │ | UH0_0(v107, v108, v109, v110, v111, v112, v113, v114, v115, │
00:00:41 #6360 [Verbose] > │ v116) -> (* StreamCons *) │
00:00:41 #6361 [Verbose] > │ let v117 : float = v102 * v0 │
00:00:41 #6362 [Verbose] > │ let v118 : float = v112 + v117 │
00:00:41 #6363 [Verbose] > │ let v119 : float = v0 * v99 │
00:00:41 #6364 [Verbose] > │ let v120 : float = v0 * v100 │
00:00:41 #6365 [Verbose] > │ let v121 : float = v0 * v101 │
00:00:41 #6366 [Verbose] > │ let v122 : float = v109 + v119 │
00:00:41 #6367 [Verbose] > │ let v123 : float = v110 + v120 │
00:00:41 #6368 [Verbose] > │ let v124 : float = v111 + v121 │
00:00:41 #6369 [Verbose] > │ let v125 : float = v0 * v103 │
00:00:41 #6370 [Verbose] > │ let v126 : float = v0 * v104 │
00:00:41 #6371 [Verbose] > │ let v127 : float = v0 * v105 │
00:00:41 #6372 [Verbose] > │ let v128 : float = v113 + v125 │
00:00:41 #6373 [Verbose] > │ let v129 : float = v114 + v126 │
00:00:41 #6374 [Verbose] > │ let v130 : float = v115 + v127 │
00:00:41 #6375 [Verbose] > │ let v131 : (unit -> UH0) = closure3(v0, v116, v106) │
00:00:41 #6376 [Verbose] > │ UH0_0(v107, v108, v122, v123, v124, v118, v128, v129, v130, │
00:00:41 #6377 [Verbose] > │ v131) │
00:00:41 #6378 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6379 [Verbose] > │ UH0_1 │
00:00:41 #6380 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6381 [Verbose] > │ UH0_1 │
00:00:41 #6382 [Verbose] > │ let v139 : (unit -> UH0) = closure4(v138) │
00:00:41 #6383 [Verbose] > │ let v140 : (unit -> UH0) = method1(v138, v139) │
00:00:41 #6384 [Verbose] > │ let v141 : UH0 = v140 () │
00:00:41 #6385 [Verbose] > │ let v142 : UH1 = v1 v141 │
00:00:41 #6386 [Verbose] > │ let v143 : float = v0 / 6.0 │
00:00:41 #6387 [Verbose] > │ let v180 : UH1 = │
00:00:41 #6388 [Verbose] > │ match v3 with │
00:00:41 #6389 [Verbose] > │ | UH1_0(v144, v145, v146, v147, v148, v149, v150, v151, v152, v153) │
00:00:41 #6390 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6391 [Verbose] > │ match v50 with │
00:00:41 #6392 [Verbose] > │ | UH1_0(v154, v155, v156, v157, v158, v159, v160, v161, v162, │
00:00:41 #6393 [Verbose] > │ v163) -> (* StreamCons *) │
00:00:41 #6394 [Verbose] > │ let v164 : float = v144 + v154 │
00:00:41 #6395 [Verbose] > │ let v165 : float = v145 + v155 │
00:00:41 #6396 [Verbose] > │ let v166 : float = v149 + v159 │
00:00:41 #6397 [Verbose] > │ let v167 : float = v146 + v156 │
00:00:41 #6398 [Verbose] > │ let v168 : float = v147 + v157 │
00:00:41 #6399 [Verbose] > │ let v169 : float = v148 + v158 │
00:00:41 #6400 [Verbose] > │ let v170 : float = v150 + v160 │
00:00:41 #6401 [Verbose] > │ let v171 : float = v151 + v161 │
00:00:41 #6402 [Verbose] > │ let v172 : float = v152 + v162 │
00:00:41 #6403 [Verbose] > │ let v173 : (unit -> UH1) = closure20(v163, v153) │
00:00:41 #6404 [Verbose] > │ UH1_0(v164, v165, v167, v168, v169, v166, v170, v171, v172, │
00:00:41 #6405 [Verbose] > │ v173) │
00:00:41 #6406 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6407 [Verbose] > │ UH1_1 │
00:00:41 #6408 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6409 [Verbose] > │ UH1_1 │
00:00:41 #6410 [Verbose] > │ let v217 : UH1 = │
00:00:41 #6411 [Verbose] > │ match v180 with │
00:00:41 #6412 [Verbose] > │ | UH1_0(v181, v182, v183, v184, v185, v186, v187, v188, v189, v190) │
00:00:41 #6413 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6414 [Verbose] > │ match v50 with │
00:00:41 #6415 [Verbose] > │ | UH1_0(v191, v192, v193, v194, v195, v196, v197, v198, v199, │
00:00:41 #6416 [Verbose] > │ v200) -> (* StreamCons *) │
00:00:41 #6417 [Verbose] > │ let v201 : float = v181 + v191 │
00:00:41 #6418 [Verbose] > │ let v202 : float = v182 + v192 │
00:00:41 #6419 [Verbose] > │ let v203 : float = v186 + v196 │
00:00:41 #6420 [Verbose] > │ let v204 : float = v183 + v193 │
00:00:41 #6421 [Verbose] > │ let v205 : float = v184 + v194 │
00:00:41 #6422 [Verbose] > │ let v206 : float = v185 + v195 │
00:00:41 #6423 [Verbose] > │ let v207 : float = v187 + v197 │
00:00:41 #6424 [Verbose] > │ let v208 : float = v188 + v198 │
00:00:41 #6425 [Verbose] > │ let v209 : float = v189 + v199 │
00:00:41 #6426 [Verbose] > │ let v210 : (unit -> UH1) = closure20(v200, v190) │
00:00:41 #6427 [Verbose] > │ UH1_0(v201, v202, v204, v205, v206, v203, v207, v208, v209, │
00:00:41 #6428 [Verbose] > │ v210) │
00:00:41 #6429 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6430 [Verbose] > │ UH1_1 │
00:00:41 #6431 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6432 [Verbose] > │ UH1_1 │
00:00:41 #6433 [Verbose] > │ let v254 : UH1 = │
00:00:41 #6434 [Verbose] > │ match v217 with │
00:00:41 #6435 [Verbose] > │ | UH1_0(v218, v219, v220, v221, v222, v223, v224, v225, v226, v227) │
00:00:41 #6436 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6437 [Verbose] > │ match v96 with │
00:00:41 #6438 [Verbose] > │ | UH1_0(v228, v229, v230, v231, v232, v233, v234, v235, v236, │
00:00:41 #6439 [Verbose] > │ v237) -> (* StreamCons *) │
00:00:41 #6440 [Verbose] > │ let v238 : float = v218 + v228 │
00:00:41 #6441 [Verbose] > │ let v239 : float = v219 + v229 │
00:00:41 #6442 [Verbose] > │ let v240 : float = v223 + v233 │
00:00:41 #6443 [Verbose] > │ let v241 : float = v220 + v230 │
00:00:41 #6444 [Verbose] > │ let v242 : float = v221 + v231 │
00:00:41 #6445 [Verbose] > │ let v243 : float = v222 + v232 │
00:00:41 #6446 [Verbose] > │ let v244 : float = v224 + v234 │
00:00:41 #6447 [Verbose] > │ let v245 : float = v225 + v235 │
00:00:41 #6448 [Verbose] > │ let v246 : float = v226 + v236 │
00:00:41 #6449 [Verbose] > │ let v247 : (unit -> UH1) = closure20(v237, v227) │
00:00:41 #6450 [Verbose] > │ UH1_0(v238, v239, v241, v242, v243, v240, v244, v245, v246, │
00:00:41 #6451 [Verbose] > │ v247) │
00:00:41 #6452 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6453 [Verbose] > │ UH1_1 │
00:00:41 #6454 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6455 [Verbose] > │ UH1_1 │
00:00:41 #6456 [Verbose] > │ let v291 : UH1 = │
00:00:41 #6457 [Verbose] > │ match v254 with │
00:00:41 #6458 [Verbose] > │ | UH1_0(v255, v256, v257, v258, v259, v260, v261, v262, v263, v264) │
00:00:41 #6459 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6460 [Verbose] > │ match v96 with │
00:00:41 #6461 [Verbose] > │ | UH1_0(v265, v266, v267, v268, v269, v270, v271, v272, v273, │
00:00:41 #6462 [Verbose] > │ v274) -> (* StreamCons *) │
00:00:41 #6463 [Verbose] > │ let v275 : float = v255 + v265 │
00:00:41 #6464 [Verbose] > │ let v276 : float = v256 + v266 │
00:00:41 #6465 [Verbose] > │ let v277 : float = v260 + v270 │
00:00:41 #6466 [Verbose] > │ let v278 : float = v257 + v267 │
00:00:41 #6467 [Verbose] > │ let v279 : float = v258 + v268 │
00:00:41 #6468 [Verbose] > │ let v280 : float = v259 + v269 │
00:00:41 #6469 [Verbose] > │ let v281 : float = v261 + v271 │
00:00:41 #6470 [Verbose] > │ let v282 : float = v262 + v272 │
00:00:41 #6471 [Verbose] > │ let v283 : float = v263 + v273 │
00:00:41 #6472 [Verbose] > │ let v284 : (unit -> UH1) = closure20(v274, v264) │
00:00:41 #6473 [Verbose] > │ UH1_0(v275, v276, v278, v279, v280, v277, v281, v282, v283, │
00:00:41 #6474 [Verbose] > │ v284) │
00:00:41 #6475 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6476 [Verbose] > │ UH1_1 │
00:00:41 #6477 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6478 [Verbose] > │ UH1_1 │
00:00:41 #6479 [Verbose] > │ let v328 : UH1 = │
00:00:41 #6480 [Verbose] > │ match v291 with │
00:00:41 #6481 [Verbose] > │ | UH1_0(v292, v293, v294, v295, v296, v297, v298, v299, v300, v301) │
00:00:41 #6482 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6483 [Verbose] > │ match v142 with │
00:00:41 #6484 [Verbose] > │ | UH1_0(v302, v303, v304, v305, v306, v307, v308, v309, v310, │
00:00:41 #6485 [Verbose] > │ v311) -> (* StreamCons *) │
00:00:41 #6486 [Verbose] > │ let v312 : float = v292 + v302 │
00:00:41 #6487 [Verbose] > │ let v313 : float = v293 + v303 │
00:00:41 #6488 [Verbose] > │ let v314 : float = v297 + v307 │
00:00:41 #6489 [Verbose] > │ let v315 : float = v294 + v304 │
00:00:41 #6490 [Verbose] > │ let v316 : float = v295 + v305 │
00:00:41 #6491 [Verbose] > │ let v317 : float = v296 + v306 │
00:00:41 #6492 [Verbose] > │ let v318 : float = v298 + v308 │
00:00:41 #6493 [Verbose] > │ let v319 : float = v299 + v309 │
00:00:41 #6494 [Verbose] > │ let v320 : float = v300 + v310 │
00:00:41 #6495 [Verbose] > │ let v321 : (unit -> UH1) = closure20(v311, v301) │
00:00:41 #6496 [Verbose] > │ UH1_0(v312, v313, v315, v316, v317, v314, v318, v319, v320, │
00:00:41 #6497 [Verbose] > │ v321) │
00:00:41 #6498 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6499 [Verbose] > │ UH1_1 │
00:00:41 #6500 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6501 [Verbose] > │ UH1_1 │
00:00:41 #6502 [Verbose] > │ let v370 : UH0 = │
00:00:41 #6503 [Verbose] > │ match v328 with │
00:00:41 #6504 [Verbose] > │ | UH1_0(v329, v330, v331, v332, v333, v334, v335, v336, v337, v338) │
00:00:41 #6505 [Verbose] > │ -> (* StreamCons *) │
00:00:41 #6506 [Verbose] > │ match v2 with │
00:00:41 #6507 [Verbose] > │ | UH0_0(v339, v340, v341, v342, v343, v344, v345, v346, v347, │
00:00:41 #6508 [Verbose] > │ v348) -> (* StreamCons *) │
00:00:41 #6509 [Verbose] > │ let v349 : float = v334 * v143 │
00:00:41 #6510 [Verbose] > │ let v350 : float = v344 + v349 │
00:00:41 #6511 [Verbose] > │ let v351 : float = v143 * v331 │
00:00:41 #6512 [Verbose] > │ let v352 : float = v143 * v332 │
00:00:41 #6513 [Verbose] > │ let v353 : float = v143 * v333 │
00:00:41 #6514 [Verbose] > │ let v354 : float = v341 + v351 │
00:00:41 #6515 [Verbose] > │ let v355 : float = v342 + v352 │
00:00:41 #6516 [Verbose] > │ let v356 : float = v343 + v353 │
00:00:41 #6517 [Verbose] > │ let v357 : float = v143 * v335 │
00:00:41 #6518 [Verbose] > │ let v358 : float = v143 * v336 │
00:00:41 #6519 [Verbose] > │ let v359 : float = v143 * v337 │
00:00:41 #6520 [Verbose] > │ let v360 : float = v345 + v357 │
00:00:41 #6521 [Verbose] > │ let v361 : float = v346 + v358 │
00:00:41 #6522 [Verbose] > │ let v362 : float = v347 + v359 │
00:00:41 #6523 [Verbose] > │ let v363 : (unit -> UH0) = closure3(v143, v348, v338) │
00:00:41 #6524 [Verbose] > │ UH0_0(v339, v340, v354, v355, v356, v350, v360, v361, v362, │
00:00:41 #6525 [Verbose] > │ v363) │
00:00:41 #6526 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:41 #6527 [Verbose] > │ UH0_1 │
00:00:41 #6528 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:41 #6529 [Verbose] > │ UH0_1 │
00:00:41 #6530 [Verbose] > │ let v371 : (unit -> UH0) = closure4(v370) │
00:00:41 #6531 [Verbose] > │ let v372 : (unit -> UH0) = method1(v370, v371) │
00:00:41 #6532 [Verbose] > │ let v373 : UH0 = v372 () │
00:00:41 #6533 [Verbose] > │ v373 │
00:00:41 #6534 [Verbose] > │ and closure18 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
00:00:41 #6535 [Verbose] > │ closure19(v0, v1) │
00:00:41 #6536 [Verbose] > │ and closure17 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
00:00:41 #6537 [Verbose] > │ closure18(v0) │
00:00:41 #6538 [Verbose] > │ and method17 (v0 : UH4, v1 : UH6) : UH6 = │
00:00:41 #6539 [Verbose] > │ match v0 with │
00:00:41 #6540 [Verbose] > │ | UH4_0(v2, v3) -> (* Cons *) │
00:00:41 #6541 [Verbose] > │ let v4 : UH6 = method17(v3, v1) │
00:00:41 #6542 [Verbose] > │ let v5 : int32 = 0 │
00:00:41 #6543 [Verbose] > │ let v6 : US2 = method6(v5, v2) │
00:00:41 #6544 [Verbose] > │ let v23 : US3 = │
00:00:41 #6545 [Verbose] > │ match v6 with │
00:00:41 #6546 [Verbose] > │ | US2_0 -> (* None *) │
00:00:41 #6547 [Verbose] > │ US3_0 │
00:00:41 #6548 [Verbose] > │ | US2_1(v7, v8, v9, v10, v11, v12, v13, v14, v15) -> (* Some *) │
00:00:41 #6549 [Verbose] > │ let v16 : UH7 = UH7_1 │
00:00:41 #6550 [Verbose] > │ let v17 : UH7 = method12(v2, v16) │
00:00:41 #6551 [Verbose] > │ let v18 : float = 0.0 │
00:00:41 #6552 [Verbose] > │ let v19 : float = method13(v17, v18) │
00:00:41 #6553 [Verbose] > │ US3_1(v12, v19) │
00:00:41 #6554 [Verbose] > │ UH6_0(v23, v4) │
00:00:41 #6555 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:41 #6556 [Verbose] > │ v1 │
00:00:41 #6557 [Verbose] > │ and method19 (v0 : UH9, v1 : int32) : int32 = │
00:00:41 #6558 [Verbose] > │ match v0 with │
00:00:41 #6559 [Verbose] > │ | UH9_0(v2, v3) -> (* Cons *) │
00:00:41 #6560 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:41 #6561 [Verbose] > │ method19(v3, v4) │
00:00:41 #6562 [Verbose] > │ | UH9_1 -> (* Nil *) │
00:00:41 #6563 [Verbose] > │ v1 │
00:00:41 #6564 [Verbose] > │ and method20 (v0 : (float []), v1 : UH9, v2 : int32) : int32 = │
00:00:41 #6565 [Verbose] > │ match v1 with │
00:00:41 #6566 [Verbose] > │ | UH9_0(v3, v4) -> (* Cons *) │
00:00:41 #6567 [Verbose] > │ v0.[int v2] <- v3 │
00:00:41 #6568 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:41 #6569 [Verbose] > │ method20(v0, v4, v5) │
00:00:41 #6570 [Verbose] > │ | UH9_1 -> (* Nil *) │
00:00:41 #6571 [Verbose] > │ v2 │
00:00:41 #6572 [Verbose] > │ and method18 (v0 : UH9) : (float []) = │
00:00:41 #6573 [Verbose] > │ let v1 : int32 = 0 │
00:00:41 #6574 [Verbose] > │ let v2 : int32 = method19(v0, v1) │
00:00:41 #6575 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:41 #6576 [Verbose] > │ let v4 : int32 = 0 │
00:00:41 #6577 [Verbose] > │ let v5 : int32 = method20(v3, v0, v4) │
00:00:41 #6578 [Verbose] > │ v3 │
00:00:41 #6579 [Verbose] > │ and method0 () : struct (string * string * string * (struct (string * (float │
00:00:41 #6580 [Verbose] > │ []) * (float [])) [])) = │
00:00:41 #6581 [Verbose] > │ let v0 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure0() │
00:00:41 #6582 [Verbose] > │ let v1 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v0 0.03 │
00:00:41 #6583 [Verbose] > │ let v2 : (UH0 -> UH1) = closure8() │
00:00:41 #6584 [Verbose] > │ let v3 : (UH0 -> UH0) = v1 v2 │
00:00:41 #6585 [Verbose] > │ let v4 : UH4 = UH4_1 │
00:00:41 #6586 [Verbose] > │ let v5 : int32 = 0 │
00:00:41 #6587 [Verbose] > │ let v6 : UH4 = method7(v3, v4, v5) │
00:00:41 #6588 [Verbose] > │ let v7 : UH6 = UH6_1 │
00:00:41 #6589 [Verbose] > │ let v8 : UH6 = method11(v6, v7) │
00:00:41 #6590 [Verbose] > │ let v9 : UH8 = UH8_1 │
00:00:41 #6591 [Verbose] > │ let v10 : UH8 = method14(v8, v9) │
00:00:41 #6592 [Verbose] > │ let v11 : UH9 = UH9_1 │
00:00:41 #6593 [Verbose] > │ let v12 : UH9 = UH9_1 │
00:00:41 #6594 [Verbose] > │ let struct (v13 : UH9, v14 : UH9) = method15(v10, v11, v12) │
00:00:41 #6595 [Verbose] > │ let v15 : UH9 = UH9_1 │
00:00:41 #6596 [Verbose] > │ let v16 : UH9 = method16(v13, v15) │
00:00:41 #6597 [Verbose] > │ let v17 : UH9 = UH9_1 │
00:00:41 #6598 [Verbose] > │ let v18 : UH9 = method16(v14, v17) │
00:00:41 #6599 [Verbose] > │ let v19 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure17() │
00:00:41 #6600 [Verbose] > │ let v20 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v19 0.03 │
00:00:41 #6601 [Verbose] > │ let v21 : (UH0 -> UH0) = v20 v2 │
00:00:41 #6602 [Verbose] > │ let v22 : UH4 = UH4_1 │
00:00:41 #6603 [Verbose] > │ let v23 : int32 = 0 │
00:00:41 #6604 [Verbose] > │ let v24 : UH4 = method7(v21, v22, v23) │
00:00:41 #6605 [Verbose] > │ let v25 : UH6 = UH6_1 │
00:00:41 #6606 [Verbose] > │ let v26 : UH6 = method17(v24, v25) │
00:00:41 #6607 [Verbose] > │ let v27 : UH8 = UH8_1 │
00:00:41 #6608 [Verbose] > │ let v28 : UH8 = method14(v26, v27) │
00:00:41 #6609 [Verbose] > │ let v29 : UH9 = UH9_1 │
00:00:41 #6610 [Verbose] > │ let v30 : UH9 = UH9_1 │
00:00:41 #6611 [Verbose] > │ let struct (v31 : UH9, v32 : UH9) = method15(v28, v29, v30) │
00:00:41 #6612 [Verbose] > │ let v33 : UH9 = UH9_1 │
00:00:41 #6613 [Verbose] > │ let v34 : UH9 = method16(v31, v33) │
00:00:41 #6614 [Verbose] > │ let v35 : UH9 = UH9_1 │
00:00:41 #6615 [Verbose] > │ let v36 : UH9 = method16(v32, v35) │
00:00:41 #6616 [Verbose] > │ let v37 : (float []) = method18(v16) │
00:00:41 #6617 [Verbose] > │ let v38 : (float []) = method18(v18) │
00:00:41 #6618 [Verbose] > │ let v39 : (float []) = method18(v34) │
00:00:41 #6619 [Verbose] > │ let v40 : (float []) = method18(v36) │
00:00:41 #6620 [Verbose] > │ let v41 : string = "euler-cromer" │
00:00:41 #6621 [Verbose] > │ let v42 : string = "runge-kutta 4" │
00:00:41 #6622 [Verbose] > │ let v43 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:41 #6623 [Verbose] > │ (v41, v37, v38); struct (v42, v39, v40)|] │
00:00:41 #6624 [Verbose] > │ let v44 : string = "system kinetic energy versus time" │
00:00:41 #6625 [Verbose] > │ let v45 : string = "time (s)" │
00:00:41 #6626 [Verbose] > │ let v46 : string = "system kinetic energy (j)" │
00:00:41 #6627 [Verbose] > │ struct (v44, v45, v46, v43) │
00:00:41 #6628 [Verbose] > │ method0() │
00:00:41 #6629 [Verbose] > │ │
00:00:41 #6630 [Verbose] > │ │
00:00:41 #6631 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 #6632 [Verbose] >
00:00:41 #6633 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:41 #6634 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:41 #6635 [Verbose] > │ ### wave 2 │
00:00:41 #6636 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 #6637 [Verbose] >
00:00:41 #6638 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:41 #6639 [Verbose] > // // test
00:00:41 #6640 [Verbose] >
00:00:41 #6641 [Verbose] > inl linear_spring k re (particle_state st1) (particle_state st2) =
00:00:41 #6642 [Verbose] > inl r1 = st1.pos_vec
00:00:41 #6643 [Verbose] > inl r2 = st2.pos_vec
00:00:41 #6644 [Verbose] > inl r21 = r2 ^-^ r1
00:00:41 #6645 [Verbose] > inl r21mag = magnitude r21
00:00:41 #6646 [Verbose] > -k * (r21mag - re) *^ r21 ^/ r21mag
00:00:41 #6647 [Verbose] >
00:00:41 #6648 [Verbose] > inl fixed_linear_spring k re r1 =
00:00:41 #6649 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:41 #6650 [Verbose] > linear_spring k re (particle_state { default_particle_state' with pos_vec =
00:00:41 #6651 [Verbose] > r1 })
00:00:41 #6652 [Verbose] >
00:00:41 #6653 [Verbose] > inl forces_string () =
00:00:41 #6654 [Verbose] > [[
00:00:41 #6655 [Verbose] > ExternalForce (0i32, fixed_linear_spring 5384 0 (zero_vec ()))
00:00:41 #6656 [Verbose] > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
00:00:41 #6657 [Verbose] > ]] /@ (
00:00:41 #6658 [Verbose] > listm'.init_series 0 59 1
00:00:41 #6659 [Verbose] > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
00:00:41 #6660 [Verbose] > )
00:00:41 #6661 [Verbose] >
00:00:41 #6662 [Verbose] > inl string_update dt =
00:00:41 #6663 [Verbose] > update_mps (join runge_kutta_4 dt) (join forces_string ())
00:00:41 #6664 [Verbose] >
00:00:41 #6665 [Verbose] > inl string_initial_overtone n =
00:00:41 #6666 [Verbose] > inl ball_mass = 0.0008293 * 0.65 / 64
00:00:41 #6667 [Verbose] > inl (particle_state default_particle_state') = default_particle_state ()
00:00:41 #6668 [Verbose] > listm'.init_series 0.01 0.64 0.01
00:00:41 #6669 [Verbose] > |> listm.map (fun x =>
00:00:41 #6670 [Verbose] > inl y = 0.005 * sin (conv n * pi * x / 0.65)
00:00:41 #6671 [Verbose] > particle_state {
00:00:41 #6672 [Verbose] > default_particle_state' with
00:00:41 #6673 [Verbose] > mass = ball_mass
00:00:41 #6674 [Verbose] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:00:41 #6675 [Verbose] > velocity = zero_vec ()
00:00:41 #6676 [Verbose] > }
00:00:41 #6677 [Verbose] > )
00:00:41 #6678 [Verbose] > |> stream.from_list
00:00:41 #6679 [Verbose] > |> multi_particle_state
00:00:41 #6680 [Verbose] >
00:00:41 #6681 [Verbose] > let main () =
00:00:41 #6682 [Verbose] > inl ~frames = listm'.init_series 0 65 1f64 |> stream.from_list
00:00:41 #6683 [Verbose] > inl ~initial_state = string_initial_overtone 3i32
00:00:41 #6684 [Verbose] > inl frames =
00:00:41 #6685 [Verbose] > frames
00:00:41 #6686 [Verbose] > |> stream.map (fun n =>
00:00:41 #6687 [Verbose] > inl (multi_particle_state sts) =
00:00:41 #6688 [Verbose] > stream.iterate (string_update 0.000025) initial_state |>
00:00:41 #6689 [Verbose] > stream.item n
00:00:41 #6690 [Verbose] > inl x, y =
00:00:41 #6691 [Verbose] > [[ zero_vec () ]]
00:00:41 #6692 [Verbose] > /@ (sts |> stream.map (fun (particle_state st) => st.pos_vec) |>
00:00:41 #6693 [Verbose] > stream.to_list)
00:00:41 #6694 [Verbose] > /@ [[ 0.65 *^ i_hat () ]]
00:00:41 #6695 [Verbose] > |> listm.map (fun r => r.x, r.y)
00:00:41 #6696 [Verbose] > |> stream.from_list
00:00:41 #6697 [Verbose] > |> stream.unzip
00:00:41 #6698 [Verbose] > inl x : a i32 _ = x |> stream.to_list |> listm.toArray
00:00:41 #6699 [Verbose] > inl y : a i32 _ = y |> stream.to_list |> listm.toArray
00:00:41 #6700 [Verbose] > x, y
00:00:41 #6701 [Verbose] > )
00:00:41 #6702 [Verbose] >
00:00:41 #6703 [Verbose] > inl plots =
00:00:41 #6704 [Verbose] > frames
00:00:41 #6705 [Verbose] > |> stream.indexed
00:00:41 #6706 [Verbose] > |> stream.map (fun ((n : i32), (x, y)) =>
00:00:41 #6707 [Verbose] > "wave",
00:00:41 #6708 [Verbose] > "position (m)",
00:00:41 #6709 [Verbose] > "displacement (m)",
00:00:41 #6710 [Verbose] > ;[[
00:00:41 #6711 [Verbose] > ($"$\"{!n}\"" : string), x, y
00:00:41 #6712 [Verbose] > ]]
00:00:41 #6713 [Verbose] > )
00:00:41 #6714 [Verbose] >
00:00:41 #6715 [Verbose] > plots |> stream.to_list |> listm.toArray : a i32 _
00:00:42 #6716 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0123-2337-3767-30352952f3c9\main.spi
00:00:48 #6717 [Verbose] >
00:00:48 #6718 [Verbose] > ╭─[ 7.18s - return value ]─────────────────────────────────────────────────────╮
00:00:48 #6719 [Verbose] > │ <table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr │
00:00:48 #6720 [Verbose] > │ ><td>0</td><td><svg width="640" height="480" viewBox="0 0 640 480" │
00:00:48 #6721 [Verbose] > │ xmlns="http://www.w3.org/2000/svg"> │
00:00:48 #6722 [Verbose] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:00:48 #6723 [Verbose] > │ stroke="none"/> │
00:00:48 #6724 [Verbose] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:00:48 #6725 [Verbose] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:00:48 #6726 [Verbose] > │ fill="#FFFFFF"> │
00:00:48 #6727 [Verbose] > │ wave │
00:00:48 #6728 [Verbose] > │ </text> │
00:00:48 #6729 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:00:48 #6730 [Verbose] > │ y2="75"/> │
00:00:48 #6731 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:00:48 #6732 [Verbose] > │ y2="75"/> │
00:00:48 #6733 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:00:48 #6734 [Verbose] > │ y2="75"/> │
00:00:48 #6735 [Verbose] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" │
00:00:48 #6736 [Verbose] > │ x2="85... │
00:00:48 #6737 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:48 #6738 [Verbose] >
00:00:49 #6739 [Verbose] > ╭─[ 7.22s - stdout ]───────────────────────────────────────────────────────────╮
00:00:49 #6740 [Verbose] > │ type UH0 = │
00:00:49 #6741 [Verbose] > │ | UH0_0 of float * (unit -> UH0) │
00:00:49 #6742 [Verbose] > │ | UH0_1 │
00:00:49 #6743 [Verbose] > │ and UH1 = │
00:00:49 #6744 [Verbose] > │ | UH1_0 of float * float * float * float * float * float * float * float │
00:00:49 #6745 [Verbose] > │ * float * (unit -> UH1) │
00:00:49 #6746 [Verbose] > │ | UH1_1 │
00:00:49 #6747 [Verbose] > │ and UH2 = │
00:00:49 #6748 [Verbose] > │ | UH2_0 of (float []) * (float []) * (unit -> UH2) │
00:00:49 #6749 [Verbose] > │ | UH2_1 │
00:00:49 #6750 [Verbose] > │ and UH3 = │
00:00:49 #6751 [Verbose] > │ | UH3_0 of float * float * float * float * float * float * float * float │
00:00:49 #6752 [Verbose] > │ * float * (unit -> UH3) │
00:00:49 #6753 [Verbose] > │ | UH3_1 │
00:00:49 #6754 [Verbose] > │ and [<Struct>] US0 = │
00:00:49 #6755 [Verbose] > │ | US0_0 of f0_0 : UH1 │
00:00:49 #6756 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH1) │
00:00:49 #6757 [Verbose] > │ and Mut0 = {mutable l0 : US0} │
00:00:49 #6758 [Verbose] > │ and [<Struct>] US1 = │
00:00:49 #6759 [Verbose] > │ | US1_0 of f0_0 : int32 * f0_1 : (struct (float * float * float * float │
00:00:49 #6760 [Verbose] > │ * float * float * float * float * float) -> struct (float * float * float)) │
00:00:49 #6761 [Verbose] > │ | US1_1 of f1_0 : int32 * f1_1 : int32 * f1_2 : (struct (float * float * │
00:00:49 #6762 [Verbose] > │ float * float * float * float * float * float * float) -> (struct (float * │
00:00:49 #6763 [Verbose] > │ float * float * float * float * float * float * float * float) -> struct │
00:00:49 #6764 [Verbose] > │ (float * float * float))) │
00:00:49 #6765 [Verbose] > │ and UH4 = │
00:00:49 #6766 [Verbose] > │ | UH4_0 of US1 * UH4 │
00:00:49 #6767 [Verbose] > │ | UH4_1 │
00:00:49 #6768 [Verbose] > │ and UH5 = │
00:00:49 #6769 [Verbose] > │ | UH5_0 of int32 * float * float * float * float * float * float * float │
00:00:49 #6770 [Verbose] > │ * float * float * (unit -> UH5) │
00:00:49 #6771 [Verbose] > │ | UH5_1 │
00:00:49 #6772 [Verbose] > │ and UH6 = │
00:00:49 #6773 [Verbose] > │ | UH6_0 of (struct (float * float * float * float * float * float * │
00:00:49 #6774 [Verbose] > │ float * float * float) -> struct (float * float * float)) * UH6 │
00:00:49 #6775 [Verbose] > │ | UH6_1 │
00:00:49 #6776 [Verbose] > │ and [<Struct>] US2 = │
00:00:49 #6777 [Verbose] > │ | US2_0 │
00:00:49 #6778 [Verbose] > │ | US2_1 of f1_0 : (struct (float * float * float * float * float * float │
00:00:49 #6779 [Verbose] > │ * float * float * float) -> struct (float * float * float)) │
00:00:49 #6780 [Verbose] > │ and [<Struct>] US3 = │
00:00:49 #6781 [Verbose] > │ | US3_0 │
00:00:49 #6782 [Verbose] > │ | US3_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
00:00:49 #6783 [Verbose] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
00:00:49 #6784 [Verbose] > │ and UH7 = │
00:00:49 #6785 [Verbose] > │ | UH7_0 of float * float * float * UH7 │
00:00:49 #6786 [Verbose] > │ | UH7_1 │
00:00:49 #6787 [Verbose] > │ and UH8 = │
00:00:49 #6788 [Verbose] > │ | UH8_0 of UH1 * (unit -> UH8) │
00:00:49 #6789 [Verbose] > │ | UH8_1 │
00:00:49 #6790 [Verbose] > │ and [<Struct>] US4 = │
00:00:49 #6791 [Verbose] > │ | US4_0 │
00:00:49 #6792 [Verbose] > │ | US4_1 of f1_0 : UH1 │
00:00:49 #6793 [Verbose] > │ and UH9 = │
00:00:49 #6794 [Verbose] > │ | UH9_0 of float * float * float * (unit -> UH9) │
00:00:49 #6795 [Verbose] > │ | UH9_1 │
00:00:49 #6796 [Verbose] > │ and UH10 = │
00:00:49 #6797 [Verbose] > │ | UH10_0 of float * float * UH10 │
00:00:49 #6798 [Verbose] > │ | UH10_1 │
00:00:49 #6799 [Verbose] > │ and UH11 = │
00:00:49 #6800 [Verbose] > │ | UH11_0 of float * float * (unit -> UH11) │
00:00:49 #6801 [Verbose] > │ | UH11_1 │
00:00:49 #6802 [Verbose] > │ and UH12 = │
00:00:49 #6803 [Verbose] > │ | UH12_0 of float * UH12 │
00:00:49 #6804 [Verbose] > │ | UH12_1 │
00:00:49 #6805 [Verbose] > │ and UH13 = │
00:00:49 #6806 [Verbose] > │ | UH13_0 of int32 * (float []) * (float []) * (unit -> UH13) │
00:00:49 #6807 [Verbose] > │ | UH13_1 │
00:00:49 #6808 [Verbose] > │ and UH14 = │
00:00:49 #6809 [Verbose] > │ | UH14_0 of string * string * string * (struct (string * (float []) * │
00:00:49 #6810 [Verbose] > │ (float [])) []) * (unit -> UH14) │
00:00:49 #6811 [Verbose] > │ | UH14_1 │
00:00:49 #6812 [Verbose] > │ and UH15 = │
00:00:49 #6813 [Verbose] > │ | UH15_0 of string * string * string * (struct (string * (float []) * │
00:00:49 #6814 [Verbose] > │ (float [])) []) * UH15 │
00:00:49 #6815 [Verbose] > │ | UH15_1 │
00:00:49 #6816 [Verbose] > │ let rec closure65 () () : UH0 = │
00:00:49 #6817 [Verbose] > │ UH0_1 │
00:00:49 #6818 [Verbose] > │ and closure64 () () : UH0 = │
00:00:49 #6819 [Verbose] > │ let v0 : (unit -> UH0) = closure65() │
00:00:49 #6820 [Verbose] > │ UH0_0(65.0, v0) │
00:00:49 #6821 [Verbose] > │ and closure63 () () : UH0 = │
00:00:49 #6822 [Verbose] > │ let v0 : (unit -> UH0) = closure64() │
00:00:49 #6823 [Verbose] > │ UH0_0(64.0, v0) │
00:00:49 #6824 [Verbose] > │ and closure62 () () : UH0 = │
00:00:49 #6825 [Verbose] > │ let v0 : (unit -> UH0) = closure63() │
00:00:49 #6826 [Verbose] > │ UH0_0(63.0, v0) │
00:00:49 #6827 [Verbose] > │ and closure61 () () : UH0 = │
00:00:49 #6828 [Verbose] > │ let v0 : (unit -> UH0) = closure62() │
00:00:49 #6829 [Verbose] > │ UH0_0(62.0, v0) │
00:00:49 #6830 [Verbose] > │ and closure60 () () : UH0 = │
00:00:49 #6831 [Verbose] > │ let v0 : (unit -> UH0) = closure61() │
00:00:49 #6832 [Verbose] > │ UH0_0(61.0, v0) │
00:00:49 #6833 [Verbose] > │ and closure59 () () : UH0 = │
00:00:49 #6834 [Verbose] > │ let v0 : (unit -> UH0) = closure60() │
00:00:49 #6835 [Verbose] > │ UH0_0(60.0, v0) │
00:00:49 #6836 [Verbose] > │ and closure58 () () : UH0 = │
00:00:49 #6837 [Verbose] > │ let v0 : (unit -> UH0) = closure59() │
00:00:49 #6838 [Verbose] > │ UH0_0(59.0, v0) │
00:00:49 #6839 [Verbose] > │ and closure57 () () : UH0 = │
00:00:49 #6840 [Verbose] > │ let v0 : (unit -> UH0) = closure58() │
00:00:49 #6841 [Verbose] > │ UH0_0(58.0, v0) │
00:00:49 #6842 [Verbose] > │ and closure56 () () : UH0 = │
00:00:49 #6843 [Verbose] > │ let v0 : (unit -> UH0) = closure57() │
00:00:49 #6844 [Verbose] > │ UH0_0(57.0, v0) │
00:00:49 #6845 [Verbose] > │ and closure55 () () : UH0 = │
00:00:49 #6846 [Verbose] > │ let v0 : (unit -> UH0) = closure56() │
00:00:49 #6847 [Verbose] > │ UH0_0(56.0, v0) │
00:00:49 #6848 [Verbose] > │ and closure54 () () : UH0 = │
00:00:49 #6849 [Verbose] > │ let v0 : (unit -> UH0) = closure55() │
00:00:49 #6850 [Verbose] > │ UH0_0(55.0, v0) │
00:00:49 #6851 [Verbose] > │ and closure53 () () : UH0 = │
00:00:49 #6852 [Verbose] > │ let v0 : (unit -> UH0) = closure54() │
00:00:49 #6853 [Verbose] > │ UH0_0(54.0, v0) │
00:00:49 #6854 [Verbose] > │ and closure52 () () : UH0 = │
00:00:49 #6855 [Verbose] > │ let v0 : (unit -> UH0) = closure53() │
00:00:49 #6856 [Verbose] > │ UH0_0(53.0, v0) │
00:00:49 #6857 [Verbose] > │ and closure51 () () : UH0 = │
00:00:49 #6858 [Verbose] > │ let v0 : (unit -> UH0) = closure52() │
00:00:49 #6859 [Verbose] > │ UH0_0(52.0, v0) │
00:00:49 #6860 [Verbose] > │ and closure50 () () : UH0 = │
00:00:49 #6861 [Verbose] > │ let v0 : (unit -> UH0) = closure51() │
00:00:49 #6862 [Verbose] > │ UH0_0(51.0, v0) │
00:00:49 #6863 [Verbose] > │ and closure49 () () : UH0 = │
00:00:49 #6864 [Verbose] > │ let v0 : (unit -> UH0) = closure50() │
00:00:49 #6865 [Verbose] > │ UH0_0(50.0, v0) │
00:00:49 #6866 [Verbose] > │ and closure48 () () : UH0 = │
00:00:49 #6867 [Verbose] > │ let v0 : (unit -> UH0) = closure49() │
00:00:49 #6868 [Verbose] > │ UH0_0(49.0, v0) │
00:00:49 #6869 [Verbose] > │ and closure47 () () : UH0 = │
00:00:49 #6870 [Verbose] > │ let v0 : (unit -> UH0) = closure48() │
00:00:49 #6871 [Verbose] > │ UH0_0(48.0, v0) │
00:00:49 #6872 [Verbose] > │ and closure46 () () : UH0 = │
00:00:49 #6873 [Verbose] > │ let v0 : (unit -> UH0) = closure47() │
00:00:49 #6874 [Verbose] > │ UH0_0(47.0, v0) │
00:00:49 #6875 [Verbose] > │ and closure45 () () : UH0 = │
00:00:49 #6876 [Verbose] > │ let v0 : (unit -> UH0) = closure46() │
00:00:49 #6877 [Verbose] > │ UH0_0(46.0, v0) │
00:00:49 #6878 [Verbose] > │ and closure44 () () : UH0 = │
00:00:49 #6879 [Verbose] > │ let v0 : (unit -> UH0) = closure45() │
00:00:49 #6880 [Verbose] > │ UH0_0(45.0, v0) │
00:00:49 #6881 [Verbose] > │ and closure43 () () : UH0 = │
00:00:49 #6882 [Verbose] > │ let v0 : (unit -> UH0) = closure44() │
00:00:49 #6883 [Verbose] > │ UH0_0(44.0, v0) │
00:00:49 #6884 [Verbose] > │ and closure42 () () : UH0 = │
00:00:49 #6885 [Verbose] > │ let v0 : (unit -> UH0) = closure43() │
00:00:49 #6886 [Verbose] > │ UH0_0(43.0, v0) │
00:00:49 #6887 [Verbose] > │ and closure41 () () : UH0 = │
00:00:49 #6888 [Verbose] > │ let v0 : (unit -> UH0) = closure42() │
00:00:49 #6889 [Verbose] > │ UH0_0(42.0, v0) │
00:00:49 #6890 [Verbose] > │ and closure40 () () : UH0 = │
00:00:49 #6891 [Verbose] > │ let v0 : (unit -> UH0) = closure41() │
00:00:49 #6892 [Verbose] > │ UH0_0(41.0, v0) │
00:00:49 #6893 [Verbose] > │ and closure39 () () : UH0 = │
00:00:49 #6894 [Verbose] > │ let v0 : (unit -> UH0) = closure40() │
00:00:49 #6895 [Verbose] > │ UH0_0(40.0, v0) │
00:00:49 #6896 [Verbose] > │ and closure38 () () : UH0 = │
00:00:49 #6897 [Verbose] > │ let v0 : (unit -> UH0) = closure39() │
00:00:49 #6898 [Verbose] > │ UH0_0(39.0, v0) │
00:00:49 #6899 [Verbose] > │ and closure37 () () : UH0 = │
00:00:49 #6900 [Verbose] > │ let v0 : (unit -> UH0) = closure38() │
00:00:49 #6901 [Verbose] > │ UH0_0(38.0, v0) │
00:00:49 #6902 [Verbose] > │ and closure36 () () : UH0 = │
00:00:49 #6903 [Verbose] > │ let v0 : (unit -> UH0) = closure37() │
00:00:49 #6904 [Verbose] > │ UH0_0(37.0, v0) │
00:00:49 #6905 [Verbose] > │ and closure35 () () : UH0 = │
00:00:49 #6906 [Verbose] > │ let v0 : (unit -> UH0) = closure36() │
00:00:49 #6907 [Verbose] > │ UH0_0(36.0, v0) │
00:00:49 #6908 [Verbose] > │ and closure34 () () : UH0 = │
00:00:49 #6909 [Verbose] > │ let v0 : (unit -> UH0) = closure35() │
00:00:49 #6910 [Verbose] > │ UH0_0(35.0, v0) │
00:00:49 #6911 [Verbose] > │ and closure33 () () : UH0 = │
00:00:49 #6912 [Verbose] > │ let v0 : (unit -> UH0) = closure34() │
00:00:49 #6913 [Verbose] > │ UH0_0(34.0, v0) │
00:00:49 #6914 [Verbose] > │ and closure32 () () : UH0 = │
00:00:49 #6915 [Verbose] > │ let v0 : (unit -> UH0) = closure33() │
00:00:49 #6916 [Verbose] > │ UH0_0(33.0, v0) │
00:00:49 #6917 [Verbose] > │ and closure31 () () : UH0 = │
00:00:49 #6918 [Verbose] > │ let v0 : (unit -> UH0) = closure32() │
00:00:49 #6919 [Verbose] > │ UH0_0(32.0, v0) │
00:00:49 #6920 [Verbose] > │ and closure30 () () : UH0 = │
00:00:49 #6921 [Verbose] > │ let v0 : (unit -> UH0) = closure31() │
00:00:49 #6922 [Verbose] > │ UH0_0(31.0, v0) │
00:00:49 #6923 [Verbose] > │ and closure29 () () : UH0 = │
00:00:49 #6924 [Verbose] > │ let v0 : (unit -> UH0) = closure30() │
00:00:49 #6925 [Verbose] > │ UH0_0(30.0, v0) │
00:00:49 #6926 [Verbose] > │ and closure28 () () : UH0 = │
00:00:49 #6927 [Verbose] > │ let v0 : (unit -> UH0) = closure29() │
00:00:49 #6928 [Verbose] > │ UH0_0(29.0, v0) │
00:00:49 #6929 [Verbose] > │ and closure27 () () : UH0 = │
00:00:49 #6930 [Verbose] > │ let v0 : (unit -> UH0) = closure28() │
00:00:49 #6931 [Verbose] > │ UH0_0(28.0, v0) │
00:00:49 #6932 [Verbose] > │ and closure26 () () : UH0 = │
00:00:49 #6933 [Verbose] > │ let v0 : (unit -> UH0) = closure27() │
00:00:49 #6934 [Verbose] > │ UH0_0(27.0, v0) │
00:00:49 #6935 [Verbose] > │ and closure25 () () : UH0 = │
00:00:49 #6936 [Verbose] > │ let v0 : (unit -> UH0) = closure26() │
00:00:49 #6937 [Verbose] > │ UH0_0(26.0, v0) │
00:00:49 #6938 [Verbose] > │ and closure24 () () : UH0 = │
00:00:49 #6939 [Verbose] > │ let v0 : (unit -> UH0) = closure25() │
00:00:49 #6940 [Verbose] > │ UH0_0(25.0, v0) │
00:00:49 #6941 [Verbose] > │ and closure23 () () : UH0 = │
00:00:49 #6942 [Verbose] > │ let v0 : (unit -> UH0) = closure24() │
00:00:49 #6943 [Verbose] > │ UH0_0(24.0, v0) │
00:00:49 #6944 [Verbose] > │ and closure22 () () : UH0 = │
00:00:49 #6945 [Verbose] > │ let v0 : (unit -> UH0) = closure23() │
00:00:49 #6946 [Verbose] > │ UH0_0(23.0, v0) │
00:00:49 #6947 [Verbose] > │ and closure21 () () : UH0 = │
00:00:49 #6948 [Verbose] > │ let v0 : (unit -> UH0) = closure22() │
00:00:49 #6949 [Verbose] > │ UH0_0(22.0, v0) │
00:00:49 #6950 [Verbose] > │ and closure20 () () : UH0 = │
00:00:49 #6951 [Verbose] > │ let v0 : (unit -> UH0) = closure21() │
00:00:49 #6952 [Verbose] > │ UH0_0(21.0, v0) │
00:00:49 #6953 [Verbose] > │ and closure19 () () : UH0 = │
00:00:49 #6954 [Verbose] > │ let v0 : (unit -> UH0) = closure20() │
00:00:49 #6955 [Verbose] > │ UH0_0(20.0, v0) │
00:00:49 #6956 [Verbose] > │ and closure18 () () : UH0 = │
00:00:49 #6957 [Verbose] > │ let v0 : (unit -> UH0) = closure19() │
00:00:49 #6958 [Verbose] > │ UH0_0(19.0, v0) │
00:00:49 #6959 [Verbose] > │ and closure17 () () : UH0 = │
00:00:49 #6960 [Verbose] > │ let v0 : (unit -> UH0) = closure18() │
00:00:49 #6961 [Verbose] > │ UH0_0(18.0, v0) │
00:00:49 #6962 [Verbose] > │ and closure16 () () : UH0 = │
00:00:49 #6963 [Verbose] > │ let v0 : (unit -> UH0) = closure17() │
00:00:49 #6964 [Verbose] > │ UH0_0(17.0, v0) │
00:00:49 #6965 [Verbose] > │ and closure15 () () : UH0 = │
00:00:49 #6966 [Verbose] > │ let v0 : (unit -> UH0) = closure16() │
00:00:49 #6967 [Verbose] > │ UH0_0(16.0, v0) │
00:00:49 #6968 [Verbose] > │ and closure14 () () : UH0 = │
00:00:49 #6969 [Verbose] > │ let v0 : (unit -> UH0) = closure15() │
00:00:49 #6970 [Verbose] > │ UH0_0(15.0, v0) │
00:00:49 #6971 [Verbose] > │ and closure13 () () : UH0 = │
00:00:49 #6972 [Verbose] > │ let v0 : (unit -> UH0) = closure14() │
00:00:49 #6973 [Verbose] > │ UH0_0(14.0, v0) │
00:00:49 #6974 [Verbose] > │ and closure12 () () : UH0 = │
00:00:49 #6975 [Verbose] > │ let v0 : (unit -> UH0) = closure13() │
00:00:49 #6976 [Verbose] > │ UH0_0(13.0, v0) │
00:00:49 #6977 [Verbose] > │ and closure11 () () : UH0 = │
00:00:49 #6978 [Verbose] > │ let v0 : (unit -> UH0) = closure12() │
00:00:49 #6979 [Verbose] > │ UH0_0(12.0, v0) │
00:00:49 #6980 [Verbose] > │ and closure10 () () : UH0 = │
00:00:49 #6981 [Verbose] > │ let v0 : (unit -> UH0) = closure11() │
00:00:49 #6982 [Verbose] > │ UH0_0(11.0, v0) │
00:00:49 #6983 [Verbose] > │ and closure9 () () : UH0 = │
00:00:49 #6984 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │
00:00:49 #6985 [Verbose] > │ UH0_0(10.0, v0) │
00:00:49 #6986 [Verbose] > │ and closure8 () () : UH0 = │
00:00:49 #6987 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │
00:00:49 #6988 [Verbose] > │ UH0_0(9.0, v0) │
00:00:49 #6989 [Verbose] > │ and closure7 () () : UH0 = │
00:00:49 #6990 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │
00:00:49 #6991 [Verbose] > │ UH0_0(8.0, v0) │
00:00:49 #6992 [Verbose] > │ and closure6 () () : UH0 = │
00:00:49 #6993 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │
00:00:49 #6994 [Verbose] > │ UH0_0(7.0, v0) │
00:00:49 #6995 [Verbose] > │ and closure5 () () : UH0 = │
00:00:49 #6996 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │
00:00:49 #6997 [Verbose] > │ UH0_0(6.0, v0) │
00:00:49 #6998 [Verbose] > │ and closure4 () () : UH0 = │
00:00:49 #6999 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │
00:00:49 #7000 [Verbose] > │ UH0_0(5.0, v0) │
00:00:49 #7001 [Verbose] > │ and closure3 () () : UH0 = │
00:00:49 #7002 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │
00:00:49 #7003 [Verbose] > │ UH0_0(4.0, v0) │
00:00:49 #7004 [Verbose] > │ and closure2 () () : UH0 = │
00:00:49 #7005 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │
00:00:49 #7006 [Verbose] > │ UH0_0(3.0, v0) │
00:00:49 #7007 [Verbose] > │ and closure1 () () : UH0 = │
00:00:49 #7008 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │
00:00:49 #7009 [Verbose] > │ UH0_0(2.0, v0) │
00:00:49 #7010 [Verbose] > │ and closure0 () () : UH0 = │
00:00:49 #7011 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │
00:00:49 #7012 [Verbose] > │ UH0_0(1.0, v0) │
00:00:49 #7013 [Verbose] > │ and closure129 () () : UH1 = │
00:00:49 #7014 [Verbose] > │ UH1_1 │
00:00:49 #7015 [Verbose] > │ and closure128 () () : UH1 = │
00:00:49 #7016 [Verbose] > │ let v0 : (unit -> UH1) = closure129() │
00:00:49 #7017 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.64, 0.0007224452478461016, 0.0, 0.0, 0.0, │
00:00:49 #7018 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7019 [Verbose] > │ and closure127 () () : UH1 = │
00:00:49 #7020 [Verbose] > │ let v0 : (unit -> UH1) = closure128() │
00:00:49 #7021 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.63, 0.001429728391993452, 0.0, 0.0, 0.0, │
00:00:49 #7022 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7023 [Verbose] > │ and closure126 () () : UH1 = │
00:00:49 #7024 [Verbose] > │ let v0 : (unit -> UH1) = closure127() │
00:00:49 #7025 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.62, 0.0021070055388626528, 0.0, 0.0, 0.0, │
00:00:49 #7026 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7027 [Verbose] > │ and closure125 () () : UH1 = │
00:00:49 #7028 [Verbose] > │ let v0 : (unit -> UH1) = closure126() │
00:00:49 #7029 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.61, 0.0027400625367733585, 0.0, 0.0, 0.0, │
00:00:49 #7030 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7031 [Verbose] > │ and closure124 () () : UH1 = │
00:00:49 #7032 [Verbose] > │ let v0 : (unit -> UH1) = closure125() │
00:00:49 #7033 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.6, 0.0033156132912039783, 0.0, 0.0, 0.0, │
00:00:49 #7034 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7035 [Verbose] > │ and closure123 () () : UH1 = │
00:00:49 #7036 [Verbose] > │ let v0 : (unit -> UH1) = closure124() │
00:00:49 #7037 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.59, 0.003821578602729245, 0.0, 0.0, 0.0, │
00:00:49 #7038 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7039 [Verbose] > │ and closure122 () () : UH1 = │
00:00:49 #7040 [Verbose] > │ let v0 : (unit -> UH1) = closure123() │
00:00:49 #7041 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.5800000000000001, 0.004247339675607605, │
00:00:49 #7042 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7043 [Verbose] > │ and closure121 () () : UH1 = │
00:00:49 #7044 [Verbose] > │ let v0 : (unit -> UH1) = closure122() │
00:00:49 #7045 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.5700000000000001, 0.004583960976582912, │
00:00:49 #7046 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7047 [Verbose] > │ and closure120 () () : UH1 = │
00:00:49 #7048 [Verbose] > │ let v0 : (unit -> UH1) = closure121() │
00:00:49 #7049 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.56, 0.004824377766717758, 0.0, 0.0, 0.0, │
00:00:49 #7050 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7051 [Verbose] > │ and closure119 () () : UH1 = │
00:00:49 #7052 [Verbose] > │ let v0 : (unit -> UH1) = closure120() │
00:00:49 #7053 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.55, 0.004963544370490271, 0.0, 0.0, 0.0, │
00:00:49 #7054 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7055 [Verbose] > │ and closure118 () () : UH1 = │
00:00:49 #7056 [Verbose] > │ let v0 : (unit -> UH1) = closure119() │
00:00:49 #7057 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.54, 0.004998540070400965, 0.0, 0.0, 0.0, │
00:00:49 #7058 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7059 [Verbose] > │ and closure117 () () : UH1 = │
00:00:49 #7060 [Verbose] > │ let v0 : (unit -> UH1) = closure118() │
00:00:49 #7061 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.53, 0.004928630404658255, 0.0, 0.0, 0.0, │
00:00:49 #7062 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7063 [Verbose] > │ and closure116 () () : UH1 = │
00:00:49 #7064 [Verbose] > │ let v0 : (unit -> UH1) = closure117() │
00:00:49 #7065 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.52, 0.004755282581475766, 0.0, 0.0, 0.0, │
00:00:49 #7066 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7067 [Verbose] > │ and closure115 () () : UH1 = │
00:00:49 #7068 [Verbose] > │ let v0 : (unit -> UH1) = closure116() │
00:00:49 #7069 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.51, 0.0044821346864785195, 0.0, 0.0, 0.0, │
00:00:49 #7070 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7071 [Verbose] > │ and closure114 () () : UH1 = │
00:00:49 #7072 [Verbose] > │ let v0 : (unit -> UH1) = closure115() │
00:00:49 #7073 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.5, 0.0041149193294682815, 0.0, 0.0, 0.0, │
00:00:49 #7074 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7075 [Verbose] > │ and closure113 () () : UH1 = │
00:00:49 #7076 [Verbose] > │ let v0 : (unit -> UH1) = closure114() │
00:00:49 #7077 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.49, 0.0036613433329888622, 0.0, 0.0, 0.0, │
00:00:49 #7078 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7079 [Verbose] > │ and closure112 () () : UH1 = │
00:00:49 #7080 [Verbose] > │ let v0 : (unit -> UH1) = closure113() │
00:00:49 #7081 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.48000000000000004, 0.003130925987691568, │
00:00:49 #7082 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7083 [Verbose] > │ and closure111 () () : UH1 = │
00:00:49 #7084 [Verbose] > │ let v0 : (unit -> UH1) = closure112() │
00:00:49 #7085 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.47000000000000003, 0.002534799269067953, │
00:00:49 #7086 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7087 [Verbose] > │ and closure110 () () : UH1 = │
00:00:49 #7088 [Verbose] > │ let v0 : (unit -> UH1) = closure111() │
00:00:49 #7089 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.46, 0.0018854742084416021, 0.0, 0.0, 0.0, │
00:00:49 #7090 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7091 [Verbose] > │ and closure109 () () : UH1 = │
00:00:49 #7092 [Verbose] > │ let v0 : (unit -> UH1) = closure110() │
00:00:49 #7093 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.45, 0.0011965783214377866, 0.0, 0.0, 0.0, │
00:00:49 #7094 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7095 [Verbose] > │ and closure108 () () : UH1 = │
00:00:49 #7096 [Verbose] > │ let v0 : (unit -> UH1) = closure109() │
00:00:49 #7097 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.44, 0.0004825696045725713, 0.0, 0.0, 0.0, │
00:00:49 #7098 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7099 [Verbose] > │ and closure107 () () : UH1 = │
00:00:49 #7100 [Verbose] > │ let v0 : (unit -> UH1) = closure108() │
00:00:49 #7101 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.43, -0.00024156689762753724, 0.0, 0.0, │
00:00:49 #7102 [Verbose] > │ 0.0, 0.0, 0.0, v0) │
00:00:49 #7103 [Verbose] > │ and closure106 () () : UH1 = │
00:00:49 #7104 [Verbose] > │ let v0 : (unit -> UH1) = closure107() │
00:00:49 #7105 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.42000000000000004, -0.0009606335867685414, │
00:00:49 #7106 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7107 [Verbose] > │ and closure105 () () : UH1 = │
00:00:49 #7108 [Verbose] > │ let v0 : (unit -> UH1) = closure106() │
00:00:49 #7109 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.41000000000000003, -0.0016595392656426435, │
00:00:49 #7110 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7111 [Verbose] > │ and closure104 () () : UH1 = │
00:00:49 #7112 [Verbose] > │ let v0 : (unit -> UH1) = closure105() │
00:00:49 #7113 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.4, -0.002323615860218846, 0.0, 0.0, 0.0, │
00:00:49 #7114 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7115 [Verbose] > │ and closure103 () () : UH1 = │
00:00:49 #7116 [Verbose] > │ let v0 : (unit -> UH1) = closure104() │
00:00:49 #7117 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.39, -0.002938926261462367, 0.0, 0.0, 0.0, │
00:00:49 #7118 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7119 [Verbose] > │ and closure102 () () : UH1 = │
00:00:49 #7120 [Verbose] > │ let v0 : (unit -> UH1) = closure103() │
00:00:49 #7121 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.38, -0.0034925568262446837, 0.0, 0.0, 0.0, │
00:00:49 #7122 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7123 [Verbose] > │ and closure101 () () : UH1 = │
00:00:49 #7124 [Verbose] > │ let v0 : (unit -> UH1) = closure102() │
00:00:49 #7125 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.37, -0.003972888398568774, 0.0, 0.0, 0.0, │
00:00:49 #7126 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7127 [Verbose] > │ and closure100 () () : UH1 = │
00:00:49 #7128 [Verbose] > │ let v0 : (unit -> UH1) = closure101() │
00:00:49 #7129 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.36000000000000004, -0.004369840163132589, │
00:00:49 #7130 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7131 [Verbose] > │ and closure99 () () : UH1 = │
00:00:49 #7132 [Verbose] > │ let v0 : (unit -> UH1) = closure100() │
00:00:49 #7133 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.35000000000000003, -0.004675081213427074, │
00:00:49 #7134 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7135 [Verbose] > │ and closure98 () () : UH1 = │
00:00:49 #7136 [Verbose] > │ let v0 : (unit -> UH1) = closure99() │
00:00:49 #7137 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.34, -0.004882205394146361, 0.0, 0.0, 0.0, │
00:00:49 #7138 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7139 [Verbose] > │ and closure97 () () : UH1 = │
00:00:49 #7140 [Verbose] > │ let v0 : (unit -> UH1) = closure98() │
00:00:49 #7141 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.33, -0.004986865748457456, 0.0, 0.0, 0.0, │
00:00:49 #7142 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7143 [Verbose] > │ and closure96 () () : UH1 = │
00:00:49 #7144 [Verbose] > │ let v0 : (unit -> UH1) = closure97() │
00:00:49 #7145 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.32, -0.004986865748457456, 0.0, 0.0, 0.0, │
00:00:49 #7146 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7147 [Verbose] > │ and closure95 () () : UH1 = │
00:00:49 #7148 [Verbose] > │ let v0 : (unit -> UH1) = closure96() │
00:00:49 #7149 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.31, -0.004882205394146359, 0.0, 0.0, 0.0, │
00:00:49 #7150 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7151 [Verbose] > │ and closure94 () () : UH1 = │
00:00:49 #7152 [Verbose] > │ let v0 : (unit -> UH1) = closure95() │
00:00:49 #7153 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.3, -0.004675081213427074, 0.0, 0.0, 0.0, │
00:00:49 #7154 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7155 [Verbose] > │ and closure93 () () : UH1 = │
00:00:49 #7156 [Verbose] > │ let v0 : (unit -> UH1) = closure94() │
00:00:49 #7157 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.29000000000000004, -0.00436984016313259, │
00:00:49 #7158 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7159 [Verbose] > │ and closure92 () () : UH1 = │
00:00:49 #7160 [Verbose] > │ let v0 : (unit -> UH1) = closure93() │
00:00:49 #7161 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.28, -0.003972888398568771, 0.0, 0.0, 0.0, │
00:00:49 #7162 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7163 [Verbose] > │ and closure91 () () : UH1 = │
00:00:49 #7164 [Verbose] > │ let v0 : (unit -> UH1) = closure92() │
00:00:49 #7165 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.27, -0.003492556826244686, 0.0, 0.0, 0.0, │
00:00:49 #7166 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7167 [Verbose] > │ and closure90 () () : UH1 = │
00:00:49 #7168 [Verbose] > │ let v0 : (unit -> UH1) = closure91() │
00:00:49 #7169 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.26, -0.0029389262614623636, 0.0, 0.0, 0.0, │
00:00:49 #7170 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7171 [Verbose] > │ and closure89 () () : UH1 = │
00:00:49 #7172 [Verbose] > │ let v0 : (unit -> UH1) = closure90() │
00:00:49 #7173 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.25, -0.002323615860218842, 0.0, 0.0, 0.0, │
00:00:49 #7174 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7175 [Verbose] > │ and closure88 () () : UH1 = │
00:00:49 #7176 [Verbose] > │ let v0 : (unit -> UH1) = closure89() │
00:00:49 #7177 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.24000000000000002, -0.001659539265642642, │
00:00:49 #7178 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7179 [Verbose] > │ and closure87 () () : UH1 = │
00:00:49 #7180 [Verbose] > │ let v0 : (unit -> UH1) = closure88() │
00:00:49 #7181 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.23, -0.0009606335867685418, 0.0, 0.0, 0.0, │
00:00:49 #7182 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7183 [Verbose] > │ and closure86 () () : UH1 = │
00:00:49 #7184 [Verbose] > │ let v0 : (unit -> UH1) = closure87() │
00:00:49 #7185 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.22, -0.00024156689762753317, 0.0, 0.0, │
00:00:49 #7186 [Verbose] > │ 0.0, 0.0, 0.0, v0) │
00:00:49 #7187 [Verbose] > │ and closure85 () () : UH1 = │
00:00:49 #7188 [Verbose] > │ let v0 : (unit -> UH1) = closure86() │
00:00:49 #7189 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.21000000000000002, 0.00048256960457257535, │
00:00:49 #7190 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7191 [Verbose] > │ and closure84 () () : UH1 = │
00:00:49 #7192 [Verbose] > │ let v0 : (unit -> UH1) = closure85() │
00:00:49 #7193 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.2, 0.0011965783214377905, 0.0, 0.0, 0.0, │
00:00:49 #7194 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7195 [Verbose] > │ and closure83 () () : UH1 = │
00:00:49 #7196 [Verbose] > │ let v0 : (unit -> UH1) = closure84() │
00:00:49 #7197 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.19, 0.0018854742084416015, 0.0, 0.0, 0.0, │
00:00:49 #7198 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7199 [Verbose] > │ and closure82 () () : UH1 = │
00:00:49 #7200 [Verbose] > │ let v0 : (unit -> UH1) = closure83() │
00:00:49 #7201 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.18000000000000002, 0.002534799269067951, │
00:00:49 #7202 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7203 [Verbose] > │ and closure81 () () : UH1 = │
00:00:49 #7204 [Verbose] > │ let v0 : (unit -> UH1) = closure82() │
00:00:49 #7205 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.17, 0.0031309259876915697, 0.0, 0.0, 0.0, │
00:00:49 #7206 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7207 [Verbose] > │ and closure80 () () : UH1 = │
00:00:49 #7208 [Verbose] > │ let v0 : (unit -> UH1) = closure81() │
00:00:49 #7209 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.16, 0.0036613433329888666, 0.0, 0.0, 0.0, │
00:00:49 #7210 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7211 [Verbose] > │ and closure79 () () : UH1 = │
00:00:49 #7212 [Verbose] > │ let v0 : (unit -> UH1) = closure80() │
00:00:49 #7213 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.15000000000000002, 0.0041149193294682815, │
00:00:49 #7214 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7215 [Verbose] > │ and closure78 () () : UH1 = │
00:00:49 #7216 [Verbose] > │ let v0 : (unit -> UH1) = closure79() │
00:00:49 #7217 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.14, 0.004482134686478519, 0.0, 0.0, 0.0, │
00:00:49 #7218 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7219 [Verbose] > │ and closure77 () () : UH1 = │
00:00:49 #7220 [Verbose] > │ let v0 : (unit -> UH1) = closure78() │
00:00:49 #7221 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.13, 0.004755282581475768, 0.0, 0.0, 0.0, │
00:00:49 #7222 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7223 [Verbose] > │ and closure76 () () : UH1 = │
00:00:49 #7224 [Verbose] > │ let v0 : (unit -> UH1) = closure77() │
00:00:49 #7225 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.12, 0.004928630404658255, 0.0, 0.0, 0.0, │
00:00:49 #7226 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7227 [Verbose] > │ and closure75 () () : UH1 = │
00:00:49 #7228 [Verbose] > │ let v0 : (unit -> UH1) = closure76() │
00:00:49 #7229 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.11, 0.004998540070400965, 0.0, 0.0, 0.0, │
00:00:49 #7230 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7231 [Verbose] > │ and closure74 () () : UH1 = │
00:00:49 #7232 [Verbose] > │ let v0 : (unit -> UH1) = closure75() │
00:00:49 #7233 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.09999999999999999, 0.00496354437049027, │
00:00:49 #7234 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7235 [Verbose] > │ and closure73 () () : UH1 = │
00:00:49 #7236 [Verbose] > │ let v0 : (unit -> UH1) = closure74() │
00:00:49 #7237 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.09, 0.004824377766717757, 0.0, 0.0, 0.0, │
00:00:49 #7238 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7239 [Verbose] > │ and closure72 () () : UH1 = │
00:00:49 #7240 [Verbose] > │ let v0 : (unit -> UH1) = closure73() │
00:00:49 #7241 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.08, 0.004583960976582912, 0.0, 0.0, 0.0, │
00:00:49 #7242 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7243 [Verbose] > │ and closure71 () () : UH1 = │
00:00:49 #7244 [Verbose] > │ let v0 : (unit -> UH1) = closure72() │
00:00:49 #7245 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.06999999999999999, 0.004247339675607605, │
00:00:49 #7246 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7247 [Verbose] > │ and closure70 () () : UH1 = │
00:00:49 #7248 [Verbose] > │ let v0 : (unit -> UH1) = closure71() │
00:00:49 #7249 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.060000000000000005, 0.0038215786027292415, │
00:00:49 #7250 [Verbose] > │ 0.0, 0.0, 0.0, 0.0, 0.0, v0) │
00:00:49 #7251 [Verbose] > │ and closure69 () () : UH1 = │
00:00:49 #7252 [Verbose] > │ let v0 : (unit -> UH1) = closure70() │
00:00:49 #7253 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.05, 0.0033156132912039757, 0.0, 0.0, 0.0, │
00:00:49 #7254 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7255 [Verbose] > │ and closure68 () () : UH1 = │
00:00:49 #7256 [Verbose] > │ let v0 : (unit -> UH1) = closure69() │
00:00:49 #7257 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.04, 0.00274006253677335, 0.0, 0.0, 0.0, │
00:00:49 #7258 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7259 [Verbose] > │ and closure67 () () : UH1 = │
00:00:49 #7260 [Verbose] > │ let v0 : (unit -> UH1) = closure68() │
00:00:49 #7261 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.03, 0.0021070055388626454, 0.0, 0.0, 0.0, │
00:00:49 #7262 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7263 [Verbose] > │ and closure66 () () : UH1 = │
00:00:49 #7264 [Verbose] > │ let v0 : (unit -> UH1) = closure67() │
00:00:49 #7265 [Verbose] > │ UH1_0(0.0, 8.422578125E-06, 0.02, 0.0014297283919934465, 0.0, 0.0, 0.0, │
00:00:49 #7266 [Verbose] > │ 0.0, 0.0, v0) │
00:00:49 #7267 [Verbose] > │ and closure132 (v0 : (unit -> UH1), v1 : (unit -> UH3)) () : UH1 = │
00:00:49 #7268 [Verbose] > │ let v2 : UH3 = v1 () │
00:00:49 #7269 [Verbose] > │ let v3 : UH1 = v0 () │
00:00:49 #7270 [Verbose] > │ match v2 with │
00:00:49 #7271 [Verbose] > │ | UH3_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:49 #7272 [Verbose] > │ match v3 with │
00:00:49 #7273 [Verbose] > │ | UH1_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:49 #7274 [Verbose] > │ StreamCons *) │
00:00:49 #7275 [Verbose] > │ let v24 : float = v9 * 1.25E-05 │
00:00:49 #7276 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:49 #7277 [Verbose] > │ let v26 : float = 1.25E-05 * v6 │
00:00:49 #7278 [Verbose] > │ let v27 : float = 1.25E-05 * v7 │
00:00:49 #7279 [Verbose] > │ let v28 : float = 1.25E-05 * v8 │
00:00:49 #7280 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:49 #7281 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:49 #7282 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:49 #7283 [Verbose] > │ let v32 : float = 1.25E-05 * v10 │
00:00:49 #7284 [Verbose] > │ let v33 : float = 1.25E-05 * v11 │
00:00:49 #7285 [Verbose] > │ let v34 : float = 1.25E-05 * v12 │
00:00:49 #7286 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:49 #7287 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:49 #7288 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:49 #7289 [Verbose] > │ let v38 : (unit -> UH1) = closure132(v23, v13) │
00:00:49 #7290 [Verbose] > │ UH1_0(v14, v15, v29, v30, v31, v25, v35, v36, v37, v38) │
00:00:49 #7291 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7292 [Verbose] > │ UH1_1 │
00:00:49 #7293 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7294 [Verbose] > │ UH1_1 │
00:00:49 #7295 [Verbose] > │ and closure133 (v0 : UH1) () : UH1 = │
00:00:49 #7296 [Verbose] > │ v0 │
00:00:49 #7297 [Verbose] > │ and closure134 (v0 : UH1, v1 : Mut0) () : UH1 = │
00:00:49 #7298 [Verbose] > │ let v2 : US0 = v1.l0 │
00:00:49 #7299 [Verbose] > │ match v2 with │
00:00:49 #7300 [Verbose] > │ | US0_0(v3) -> (* Computed *) │
00:00:49 #7301 [Verbose] > │ v3 │
00:00:49 #7302 [Verbose] > │ | US0_1(v4) -> (* NotComputed *) │
00:00:49 #7303 [Verbose] > │ let v5 : UH1 = v4 () │
00:00:49 #7304 [Verbose] > │ let v20 : UH1 = │
00:00:49 #7305 [Verbose] > │ match v5 with │
00:00:49 #7306 [Verbose] > │ | UH1_0(v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> (* │
00:00:49 #7307 [Verbose] > │ StreamCons *) │
00:00:49 #7308 [Verbose] > │ let v17 : (unit -> UH1) = method3(v0, v16) │
00:00:49 #7309 [Verbose] > │ UH1_0(v7, v8, v9, v10, v11, v12, v13, v14, v15, v17) │
00:00:49 #7310 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7311 [Verbose] > │ UH1_1 │
00:00:49 #7312 [Verbose] > │ let v21 : US0 = US0_0(v20) │
00:00:49 #7313 [Verbose] > │ v1.l0 <- v21 │
00:00:49 #7314 [Verbose] > │ v20 │
00:00:49 #7315 [Verbose] > │ and method3 (v0 : UH1, v1 : (unit -> UH1)) : (unit -> UH1) = │
00:00:49 #7316 [Verbose] > │ let v2 : US0 = US0_1(v1) │
00:00:49 #7317 [Verbose] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │
00:00:49 #7318 [Verbose] > │ closure134(v0, v3) │
00:00:49 #7319 [Verbose] > │ and closure135 (v0 : (unit -> UH1), v1 : (unit -> UH3)) () : UH1 = │
00:00:49 #7320 [Verbose] > │ let v2 : UH3 = v1 () │
00:00:49 #7321 [Verbose] > │ let v3 : UH1 = v0 () │
00:00:49 #7322 [Verbose] > │ match v2 with │
00:00:49 #7323 [Verbose] > │ | UH3_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:49 #7324 [Verbose] > │ match v3 with │
00:00:49 #7325 [Verbose] > │ | UH1_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:49 #7326 [Verbose] > │ StreamCons *) │
00:00:49 #7327 [Verbose] > │ let v24 : float = v9 * 2.5E-05 │
00:00:49 #7328 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:49 #7329 [Verbose] > │ let v26 : float = 2.5E-05 * v6 │
00:00:49 #7330 [Verbose] > │ let v27 : float = 2.5E-05 * v7 │
00:00:49 #7331 [Verbose] > │ let v28 : float = 2.5E-05 * v8 │
00:00:49 #7332 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:49 #7333 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:49 #7334 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:49 #7335 [Verbose] > │ let v32 : float = 2.5E-05 * v10 │
00:00:49 #7336 [Verbose] > │ let v33 : float = 2.5E-05 * v11 │
00:00:49 #7337 [Verbose] > │ let v34 : float = 2.5E-05 * v12 │
00:00:49 #7338 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:49 #7339 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:49 #7340 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:49 #7341 [Verbose] > │ let v38 : (unit -> UH1) = closure135(v23, v13) │
00:00:49 #7342 [Verbose] > │ UH1_0(v14, v15, v29, v30, v31, v25, v35, v36, v37, v38) │
00:00:49 #7343 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7344 [Verbose] > │ UH1_1 │
00:00:49 #7345 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7346 [Verbose] > │ UH1_1 │
00:00:49 #7347 [Verbose] > │ and closure136 (v0 : (unit -> UH3), v1 : (unit -> UH3)) () : UH3 = │
00:00:49 #7348 [Verbose] > │ let v2 : UH3 = v1 () │
00:00:49 #7349 [Verbose] > │ let v3 : UH3 = v0 () │
00:00:49 #7350 [Verbose] > │ match v2 with │
00:00:49 #7351 [Verbose] > │ | UH3_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:49 #7352 [Verbose] > │ match v3 with │
00:00:49 #7353 [Verbose] > │ | UH3_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:49 #7354 [Verbose] > │ StreamCons *) │
00:00:49 #7355 [Verbose] > │ let v24 : float = v4 + v14 │
00:00:49 #7356 [Verbose] > │ let v25 : float = v5 + v15 │
00:00:49 #7357 [Verbose] > │ let v26 : float = v9 + v19 │
00:00:49 #7358 [Verbose] > │ let v27 : float = v6 + v16 │
00:00:49 #7359 [Verbose] > │ let v28 : float = v7 + v17 │
00:00:49 #7360 [Verbose] > │ let v29 : float = v8 + v18 │
00:00:49 #7361 [Verbose] > │ let v30 : float = v10 + v20 │
00:00:49 #7362 [Verbose] > │ let v31 : float = v11 + v21 │
00:00:49 #7363 [Verbose] > │ let v32 : float = v12 + v22 │
00:00:49 #7364 [Verbose] > │ let v33 : (unit -> UH3) = closure136(v23, v13) │
00:00:49 #7365 [Verbose] > │ UH3_0(v24, v25, v27, v28, v29, v26, v30, v31, v32, v33) │
00:00:49 #7366 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7367 [Verbose] > │ UH3_1 │
00:00:49 #7368 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7369 [Verbose] > │ UH3_1 │
00:00:49 #7370 [Verbose] > │ and closure137 (v0 : (unit -> UH1), v1 : (unit -> UH3)) () : UH1 = │
00:00:49 #7371 [Verbose] > │ let v2 : UH3 = v1 () │
00:00:49 #7372 [Verbose] > │ let v3 : UH1 = v0 () │
00:00:49 #7373 [Verbose] > │ match v2 with │
00:00:49 #7374 [Verbose] > │ | UH3_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* StreamCons *) │
00:00:49 #7375 [Verbose] > │ match v3 with │
00:00:49 #7376 [Verbose] > │ | UH1_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* │
00:00:49 #7377 [Verbose] > │ StreamCons *) │
00:00:49 #7378 [Verbose] > │ let v24 : float = v9 * 4.166666666666667E-06 │
00:00:49 #7379 [Verbose] > │ let v25 : float = v19 + v24 │
00:00:49 #7380 [Verbose] > │ let v26 : float = 4.166666666666667E-06 * v6 │
00:00:49 #7381 [Verbose] > │ let v27 : float = 4.166666666666667E-06 * v7 │
00:00:49 #7382 [Verbose] > │ let v28 : float = 4.166666666666667E-06 * v8 │
00:00:49 #7383 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:49 #7384 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:49 #7385 [Verbose] > │ let v31 : float = v18 + v28 │
00:00:49 #7386 [Verbose] > │ let v32 : float = 4.166666666666667E-06 * v10 │
00:00:49 #7387 [Verbose] > │ let v33 : float = 4.166666666666667E-06 * v11 │
00:00:49 #7388 [Verbose] > │ let v34 : float = 4.166666666666667E-06 * v12 │
00:00:49 #7389 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:49 #7390 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:49 #7391 [Verbose] > │ let v37 : float = v22 + v34 │
00:00:49 #7392 [Verbose] > │ let v38 : (unit -> UH1) = closure137(v23, v13) │
00:00:49 #7393 [Verbose] > │ UH1_0(v14, v15, v29, v30, v31, v25, v35, v36, v37, v38) │
00:00:49 #7394 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7395 [Verbose] > │ UH1_1 │
00:00:49 #7396 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7397 [Verbose] > │ UH1_1 │
00:00:49 #7398 [Verbose] > │ and closure131 (v0 : (UH1 -> UH3)) (v1 : UH1) : UH1 = │
00:00:49 #7399 [Verbose] > │ let v2 : UH3 = v0 v1 │
00:00:49 #7400 [Verbose] > │ let v44 : UH1 = │
00:00:49 #7401 [Verbose] > │ match v2 with │
00:00:49 #7402 [Verbose] > │ | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* StreamCons │
00:00:49 #7403 [Verbose] > │ *) │
00:00:49 #7404 [Verbose] > │ match v1 with │
00:00:49 #7405 [Verbose] > │ | UH1_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* │
00:00:49 #7406 [Verbose] > │ StreamCons *) │
00:00:49 #7407 [Verbose] > │ let v23 : float = v8 * 1.25E-05 │
00:00:49 #7408 [Verbose] > │ let v24 : float = v18 + v23 │
00:00:49 #7409 [Verbose] > │ let v25 : float = 1.25E-05 * v5 │
00:00:49 #7410 [Verbose] > │ let v26 : float = 1.25E-05 * v6 │
00:00:49 #7411 [Verbose] > │ let v27 : float = 1.25E-05 * v7 │
00:00:49 #7412 [Verbose] > │ let v28 : float = v15 + v25 │
00:00:49 #7413 [Verbose] > │ let v29 : float = v16 + v26 │
00:00:49 #7414 [Verbose] > │ let v30 : float = v17 + v27 │
00:00:49 #7415 [Verbose] > │ let v31 : float = 1.25E-05 * v9 │
00:00:49 #7416 [Verbose] > │ let v32 : float = 1.25E-05 * v10 │
00:00:49 #7417 [Verbose] > │ let v33 : float = 1.25E-05 * v11 │
00:00:49 #7418 [Verbose] > │ let v34 : float = v19 + v31 │
00:00:49 #7419 [Verbose] > │ let v35 : float = v20 + v32 │
00:00:49 #7420 [Verbose] > │ let v36 : float = v21 + v33 │
00:00:49 #7421 [Verbose] > │ let v37 : (unit -> UH1) = closure132(v22, v12) │
00:00:49 #7422 [Verbose] > │ UH1_0(v13, v14, v28, v29, v30, v24, v34, v35, v36, v37) │
00:00:49 #7423 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7424 [Verbose] > │ UH1_1 │
00:00:49 #7425 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7426 [Verbose] > │ UH1_1 │
00:00:49 #7427 [Verbose] > │ let v45 : (unit -> UH1) = closure133(v44) │
00:00:49 #7428 [Verbose] > │ let v46 : (unit -> UH1) = method3(v44, v45) │
00:00:49 #7429 [Verbose] > │ let v47 : UH1 = v46 () │
00:00:49 #7430 [Verbose] > │ let v48 : UH3 = v0 v47 │
00:00:49 #7431 [Verbose] > │ let v90 : UH1 = │
00:00:49 #7432 [Verbose] > │ match v48 with │
00:00:49 #7433 [Verbose] > │ | UH3_0(v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) -> (* │
00:00:49 #7434 [Verbose] > │ StreamCons *) │
00:00:49 #7435 [Verbose] > │ match v1 with │
00:00:49 #7436 [Verbose] > │ | UH1_0(v59, v60, v61, v62, v63, v64, v65, v66, v67, v68) -> (* │
00:00:49 #7437 [Verbose] > │ StreamCons *) │
00:00:49 #7438 [Verbose] > │ let v69 : float = v54 * 1.25E-05 │
00:00:49 #7439 [Verbose] > │ let v70 : float = v64 + v69 │
00:00:49 #7440 [Verbose] > │ let v71 : float = 1.25E-05 * v51 │
00:00:49 #7441 [Verbose] > │ let v72 : float = 1.25E-05 * v52 │
00:00:49 #7442 [Verbose] > │ let v73 : float = 1.25E-05 * v53 │
00:00:49 #7443 [Verbose] > │ let v74 : float = v61 + v71 │
00:00:49 #7444 [Verbose] > │ let v75 : float = v62 + v72 │
00:00:49 #7445 [Verbose] > │ let v76 : float = v63 + v73 │
00:00:49 #7446 [Verbose] > │ let v77 : float = 1.25E-05 * v55 │
00:00:49 #7447 [Verbose] > │ let v78 : float = 1.25E-05 * v56 │
00:00:49 #7448 [Verbose] > │ let v79 : float = 1.25E-05 * v57 │
00:00:49 #7449 [Verbose] > │ let v80 : float = v65 + v77 │
00:00:49 #7450 [Verbose] > │ let v81 : float = v66 + v78 │
00:00:49 #7451 [Verbose] > │ let v82 : float = v67 + v79 │
00:00:49 #7452 [Verbose] > │ let v83 : (unit -> UH1) = closure132(v68, v58) │
00:00:49 #7453 [Verbose] > │ UH1_0(v59, v60, v74, v75, v76, v70, v80, v81, v82, v83) │
00:00:49 #7454 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7455 [Verbose] > │ UH1_1 │
00:00:49 #7456 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7457 [Verbose] > │ UH1_1 │
00:00:49 #7458 [Verbose] > │ let v91 : (unit -> UH1) = closure133(v90) │
00:00:49 #7459 [Verbose] > │ let v92 : (unit -> UH1) = method3(v90, v91) │
00:00:49 #7460 [Verbose] > │ let v93 : UH1 = v92 () │
00:00:49 #7461 [Verbose] > │ let v94 : UH3 = v0 v93 │
00:00:49 #7462 [Verbose] > │ let v136 : UH1 = │
00:00:49 #7463 [Verbose] > │ match v94 with │
00:00:49 #7464 [Verbose] > │ | UH3_0(v95, v96, v97, v98, v99, v100, v101, v102, v103, v104) -> (* │
00:00:49 #7465 [Verbose] > │ StreamCons *) │
00:00:49 #7466 [Verbose] > │ match v1 with │
00:00:49 #7467 [Verbose] > │ | UH1_0(v105, v106, v107, v108, v109, v110, v111, v112, v113, │
00:00:49 #7468 [Verbose] > │ v114) -> (* StreamCons *) │
00:00:49 #7469 [Verbose] > │ let v115 : float = v100 * 2.5E-05 │
00:00:49 #7470 [Verbose] > │ let v116 : float = v110 + v115 │
00:00:49 #7471 [Verbose] > │ let v117 : float = 2.5E-05 * v97 │
00:00:49 #7472 [Verbose] > │ let v118 : float = 2.5E-05 * v98 │
00:00:49 #7473 [Verbose] > │ let v119 : float = 2.5E-05 * v99 │
00:00:49 #7474 [Verbose] > │ let v120 : float = v107 + v117 │
00:00:49 #7475 [Verbose] > │ let v121 : float = v108 + v118 │
00:00:49 #7476 [Verbose] > │ let v122 : float = v109 + v119 │
00:00:49 #7477 [Verbose] > │ let v123 : float = 2.5E-05 * v101 │
00:00:49 #7478 [Verbose] > │ let v124 : float = 2.5E-05 * v102 │
00:00:49 #7479 [Verbose] > │ let v125 : float = 2.5E-05 * v103 │
00:00:49 #7480 [Verbose] > │ let v126 : float = v111 + v123 │
00:00:49 #7481 [Verbose] > │ let v127 : float = v112 + v124 │
00:00:49 #7482 [Verbose] > │ let v128 : float = v113 + v125 │
00:00:49 #7483 [Verbose] > │ let v129 : (unit -> UH1) = closure135(v114, v104) │
00:00:49 #7484 [Verbose] > │ UH1_0(v105, v106, v120, v121, v122, v116, v126, v127, v128, │
00:00:49 #7485 [Verbose] > │ v129) │
00:00:49 #7486 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7487 [Verbose] > │ UH1_1 │
00:00:49 #7488 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7489 [Verbose] > │ UH1_1 │
00:00:49 #7490 [Verbose] > │ let v137 : (unit -> UH1) = closure133(v136) │
00:00:49 #7491 [Verbose] > │ let v138 : (unit -> UH1) = method3(v136, v137) │
00:00:49 #7492 [Verbose] > │ let v139 : UH1 = v138 () │
00:00:49 #7493 [Verbose] > │ let v140 : UH3 = v0 v139 │
00:00:49 #7494 [Verbose] > │ let v177 : UH3 = │
00:00:49 #7495 [Verbose] > │ match v2 with │
00:00:49 #7496 [Verbose] > │ | UH3_0(v141, v142, v143, v144, v145, v146, v147, v148, v149, v150) │
00:00:49 #7497 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7498 [Verbose] > │ match v48 with │
00:00:49 #7499 [Verbose] > │ | UH3_0(v151, v152, v153, v154, v155, v156, v157, v158, v159, │
00:00:49 #7500 [Verbose] > │ v160) -> (* StreamCons *) │
00:00:49 #7501 [Verbose] > │ let v161 : float = v141 + v151 │
00:00:49 #7502 [Verbose] > │ let v162 : float = v142 + v152 │
00:00:49 #7503 [Verbose] > │ let v163 : float = v146 + v156 │
00:00:49 #7504 [Verbose] > │ let v164 : float = v143 + v153 │
00:00:49 #7505 [Verbose] > │ let v165 : float = v144 + v154 │
00:00:49 #7506 [Verbose] > │ let v166 : float = v145 + v155 │
00:00:49 #7507 [Verbose] > │ let v167 : float = v147 + v157 │
00:00:49 #7508 [Verbose] > │ let v168 : float = v148 + v158 │
00:00:49 #7509 [Verbose] > │ let v169 : float = v149 + v159 │
00:00:49 #7510 [Verbose] > │ let v170 : (unit -> UH3) = closure136(v160, v150) │
00:00:49 #7511 [Verbose] > │ UH3_0(v161, v162, v164, v165, v166, v163, v167, v168, v169, │
00:00:49 #7512 [Verbose] > │ v170) │
00:00:49 #7513 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7514 [Verbose] > │ UH3_1 │
00:00:49 #7515 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7516 [Verbose] > │ UH3_1 │
00:00:49 #7517 [Verbose] > │ let v214 : UH3 = │
00:00:49 #7518 [Verbose] > │ match v177 with │
00:00:49 #7519 [Verbose] > │ | UH3_0(v178, v179, v180, v181, v182, v183, v184, v185, v186, v187) │
00:00:49 #7520 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7521 [Verbose] > │ match v48 with │
00:00:49 #7522 [Verbose] > │ | UH3_0(v188, v189, v190, v191, v192, v193, v194, v195, v196, │
00:00:49 #7523 [Verbose] > │ v197) -> (* StreamCons *) │
00:00:49 #7524 [Verbose] > │ let v198 : float = v178 + v188 │
00:00:49 #7525 [Verbose] > │ let v199 : float = v179 + v189 │
00:00:49 #7526 [Verbose] > │ let v200 : float = v183 + v193 │
00:00:49 #7527 [Verbose] > │ let v201 : float = v180 + v190 │
00:00:49 #7528 [Verbose] > │ let v202 : float = v181 + v191 │
00:00:49 #7529 [Verbose] > │ let v203 : float = v182 + v192 │
00:00:49 #7530 [Verbose] > │ let v204 : float = v184 + v194 │
00:00:49 #7531 [Verbose] > │ let v205 : float = v185 + v195 │
00:00:49 #7532 [Verbose] > │ let v206 : float = v186 + v196 │
00:00:49 #7533 [Verbose] > │ let v207 : (unit -> UH3) = closure136(v197, v187) │
00:00:49 #7534 [Verbose] > │ UH3_0(v198, v199, v201, v202, v203, v200, v204, v205, v206, │
00:00:49 #7535 [Verbose] > │ v207) │
00:00:49 #7536 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7537 [Verbose] > │ UH3_1 │
00:00:49 #7538 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7539 [Verbose] > │ UH3_1 │
00:00:49 #7540 [Verbose] > │ let v251 : UH3 = │
00:00:49 #7541 [Verbose] > │ match v214 with │
00:00:49 #7542 [Verbose] > │ | UH3_0(v215, v216, v217, v218, v219, v220, v221, v222, v223, v224) │
00:00:49 #7543 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7544 [Verbose] > │ match v94 with │
00:00:49 #7545 [Verbose] > │ | UH3_0(v225, v226, v227, v228, v229, v230, v231, v232, v233, │
00:00:49 #7546 [Verbose] > │ v234) -> (* StreamCons *) │
00:00:49 #7547 [Verbose] > │ let v235 : float = v215 + v225 │
00:00:49 #7548 [Verbose] > │ let v236 : float = v216 + v226 │
00:00:49 #7549 [Verbose] > │ let v237 : float = v220 + v230 │
00:00:49 #7550 [Verbose] > │ let v238 : float = v217 + v227 │
00:00:49 #7551 [Verbose] > │ let v239 : float = v218 + v228 │
00:00:49 #7552 [Verbose] > │ let v240 : float = v219 + v229 │
00:00:49 #7553 [Verbose] > │ let v241 : float = v221 + v231 │
00:00:49 #7554 [Verbose] > │ let v242 : float = v222 + v232 │
00:00:49 #7555 [Verbose] > │ let v243 : float = v223 + v233 │
00:00:49 #7556 [Verbose] > │ let v244 : (unit -> UH3) = closure136(v234, v224) │
00:00:49 #7557 [Verbose] > │ UH3_0(v235, v236, v238, v239, v240, v237, v241, v242, v243, │
00:00:49 #7558 [Verbose] > │ v244) │
00:00:49 #7559 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7560 [Verbose] > │ UH3_1 │
00:00:49 #7561 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7562 [Verbose] > │ UH3_1 │
00:00:49 #7563 [Verbose] > │ let v288 : UH3 = │
00:00:49 #7564 [Verbose] > │ match v251 with │
00:00:49 #7565 [Verbose] > │ | UH3_0(v252, v253, v254, v255, v256, v257, v258, v259, v260, v261) │
00:00:49 #7566 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7567 [Verbose] > │ match v94 with │
00:00:49 #7568 [Verbose] > │ | UH3_0(v262, v263, v264, v265, v266, v267, v268, v269, v270, │
00:00:49 #7569 [Verbose] > │ v271) -> (* StreamCons *) │
00:00:49 #7570 [Verbose] > │ let v272 : float = v252 + v262 │
00:00:49 #7571 [Verbose] > │ let v273 : float = v253 + v263 │
00:00:49 #7572 [Verbose] > │ let v274 : float = v257 + v267 │
00:00:49 #7573 [Verbose] > │ let v275 : float = v254 + v264 │
00:00:49 #7574 [Verbose] > │ let v276 : float = v255 + v265 │
00:00:49 #7575 [Verbose] > │ let v277 : float = v256 + v266 │
00:00:49 #7576 [Verbose] > │ let v278 : float = v258 + v268 │
00:00:49 #7577 [Verbose] > │ let v279 : float = v259 + v269 │
00:00:49 #7578 [Verbose] > │ let v280 : float = v260 + v270 │
00:00:49 #7579 [Verbose] > │ let v281 : (unit -> UH3) = closure136(v271, v261) │
00:00:49 #7580 [Verbose] > │ UH3_0(v272, v273, v275, v276, v277, v274, v278, v279, v280, │
00:00:49 #7581 [Verbose] > │ v281) │
00:00:49 #7582 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7583 [Verbose] > │ UH3_1 │
00:00:49 #7584 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7585 [Verbose] > │ UH3_1 │
00:00:49 #7586 [Verbose] > │ let v325 : UH3 = │
00:00:49 #7587 [Verbose] > │ match v288 with │
00:00:49 #7588 [Verbose] > │ | UH3_0(v289, v290, v291, v292, v293, v294, v295, v296, v297, v298) │
00:00:49 #7589 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7590 [Verbose] > │ match v140 with │
00:00:49 #7591 [Verbose] > │ | UH3_0(v299, v300, v301, v302, v303, v304, v305, v306, v307, │
00:00:49 #7592 [Verbose] > │ v308) -> (* StreamCons *) │
00:00:49 #7593 [Verbose] > │ let v309 : float = v289 + v299 │
00:00:49 #7594 [Verbose] > │ let v310 : float = v290 + v300 │
00:00:49 #7595 [Verbose] > │ let v311 : float = v294 + v304 │
00:00:49 #7596 [Verbose] > │ let v312 : float = v291 + v301 │
00:00:49 #7597 [Verbose] > │ let v313 : float = v292 + v302 │
00:00:49 #7598 [Verbose] > │ let v314 : float = v293 + v303 │
00:00:49 #7599 [Verbose] > │ let v315 : float = v295 + v305 │
00:00:49 #7600 [Verbose] > │ let v316 : float = v296 + v306 │
00:00:49 #7601 [Verbose] > │ let v317 : float = v297 + v307 │
00:00:49 #7602 [Verbose] > │ let v318 : (unit -> UH3) = closure136(v308, v298) │
00:00:49 #7603 [Verbose] > │ UH3_0(v309, v310, v312, v313, v314, v311, v315, v316, v317, │
00:00:49 #7604 [Verbose] > │ v318) │
00:00:49 #7605 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7606 [Verbose] > │ UH3_1 │
00:00:49 #7607 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7608 [Verbose] > │ UH3_1 │
00:00:49 #7609 [Verbose] > │ let v367 : UH1 = │
00:00:49 #7610 [Verbose] > │ match v325 with │
00:00:49 #7611 [Verbose] > │ | UH3_0(v326, v327, v328, v329, v330, v331, v332, v333, v334, v335) │
00:00:49 #7612 [Verbose] > │ -> (* StreamCons *) │
00:00:49 #7613 [Verbose] > │ match v1 with │
00:00:49 #7614 [Verbose] > │ | UH1_0(v336, v337, v338, v339, v340, v341, v342, v343, v344, │
00:00:49 #7615 [Verbose] > │ v345) -> (* StreamCons *) │
00:00:49 #7616 [Verbose] > │ let v346 : float = v331 * 4.166666666666667E-06 │
00:00:49 #7617 [Verbose] > │ let v347 : float = v341 + v346 │
00:00:49 #7618 [Verbose] > │ let v348 : float = 4.166666666666667E-06 * v328 │
00:00:49 #7619 [Verbose] > │ let v349 : float = 4.166666666666667E-06 * v329 │
00:00:49 #7620 [Verbose] > │ let v350 : float = 4.166666666666667E-06 * v330 │
00:00:49 #7621 [Verbose] > │ let v351 : float = v338 + v348 │
00:00:49 #7622 [Verbose] > │ let v352 : float = v339 + v349 │
00:00:49 #7623 [Verbose] > │ let v353 : float = v340 + v350 │
00:00:49 #7624 [Verbose] > │ let v354 : float = 4.166666666666667E-06 * v332 │
00:00:49 #7625 [Verbose] > │ let v355 : float = 4.166666666666667E-06 * v333 │
00:00:49 #7626 [Verbose] > │ let v356 : float = 4.166666666666667E-06 * v334 │
00:00:49 #7627 [Verbose] > │ let v357 : float = v342 + v354 │
00:00:49 #7628 [Verbose] > │ let v358 : float = v343 + v355 │
00:00:49 #7629 [Verbose] > │ let v359 : float = v344 + v356 │
00:00:49 #7630 [Verbose] > │ let v360 : (unit -> UH1) = closure137(v345, v335) │
00:00:49 #7631 [Verbose] > │ UH1_0(v336, v337, v351, v352, v353, v347, v357, v358, v359, │
00:00:49 #7632 [Verbose] > │ v360) │
00:00:49 #7633 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7634 [Verbose] > │ UH1_1 │
00:00:49 #7635 [Verbose] > │ | UH3_1 -> (* StreamNil *) │
00:00:49 #7636 [Verbose] > │ UH1_1 │
00:00:49 #7637 [Verbose] > │ let v368 : (unit -> UH1) = closure133(v367) │
00:00:49 #7638 [Verbose] > │ let v369 : (unit -> UH1) = method3(v367, v368) │
00:00:49 #7639 [Verbose] > │ let v370 : UH1 = v369 () │
00:00:49 #7640 [Verbose] > │ v370 │
00:00:49 #7641 [Verbose] > │ and closure130 () (v0 : (UH1 -> UH3)) : (UH1 -> UH1) = │
00:00:49 #7642 [Verbose] > │ closure131(v0) │
00:00:49 #7643 [Verbose] > │ and method2 () : ((UH1 -> UH3) -> (UH1 -> UH1)) = │
00:00:49 #7644 [Verbose] > │ closure130() │
00:00:49 #7645 [Verbose] > │ and closure138 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:49 #7646 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:49 #7647 [Verbose] > │ float * float) = │
00:00:49 #7648 [Verbose] > │ let v9 : float = v2 * v2 │
00:00:49 #7649 [Verbose] > │ let v10 : float = v3 * v3 │
00:00:49 #7650 [Verbose] > │ let v11 : float = v9 + v10 │
00:00:49 #7651 [Verbose] > │ let v12 : float = v4 * v4 │
00:00:49 #7652 [Verbose] > │ let v13 : float = v11 + v12 │
00:00:49 #7653 [Verbose] > │ let v14 : float = sqrt v13 │
00:00:49 #7654 [Verbose] > │ let v15 : float = -5384.0 * v14 │
00:00:49 #7655 [Verbose] > │ let v16 : float = v15 * v2 │
00:00:49 #7656 [Verbose] > │ let v17 : float = v15 * v3 │
00:00:49 #7657 [Verbose] > │ let v18 : float = v15 * v4 │
00:00:49 #7658 [Verbose] > │ let v19 : float = v16 / v14 │
00:00:49 #7659 [Verbose] > │ let v20 : float = v17 / v14 │
00:00:49 #7660 [Verbose] > │ let v21 : float = v18 / v14 │
00:00:49 #7661 [Verbose] > │ struct (v19, v20, v21) │
00:00:49 #7662 [Verbose] > │ and closure139 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:49 #7663 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:49 #7664 [Verbose] > │ float * float) = │
00:00:49 #7665 [Verbose] > │ let v9 : float = v2 + -0.65 │
00:00:49 #7666 [Verbose] > │ let v10 : float = v9 * v9 │
00:00:49 #7667 [Verbose] > │ let v11 : float = v3 * v3 │
00:00:49 #7668 [Verbose] > │ let v12 : float = v10 + v11 │
00:00:49 #7669 [Verbose] > │ let v13 : float = v4 * v4 │
00:00:49 #7670 [Verbose] > │ let v14 : float = v12 + v13 │
00:00:49 #7671 [Verbose] > │ let v15 : float = sqrt v14 │
00:00:49 #7672 [Verbose] > │ let v16 : float = -5384.0 * v15 │
00:00:49 #7673 [Verbose] > │ let v17 : float = v16 * v9 │
00:00:49 #7674 [Verbose] > │ let v18 : float = v16 * v3 │
00:00:49 #7675 [Verbose] > │ let v19 : float = v16 * v4 │
00:00:49 #7676 [Verbose] > │ let v20 : float = v17 / v15 │
00:00:49 #7677 [Verbose] > │ let v21 : float = v18 / v15 │
00:00:49 #7678 [Verbose] > │ let v22 : float = v19 / v15 │
00:00:49 #7679 [Verbose] > │ struct (v20, v21, v22) │
00:00:49 #7680 [Verbose] > │ and closure141 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │
00:00:49 #7681 [Verbose] > │ v5 : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
00:00:49 #7682 [Verbose] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
00:00:49 #7683 [Verbose] > │ : float, v17 : float) : struct (float * float * float) = │
00:00:49 #7684 [Verbose] > │ let v18 : float = -1.0 * v2 │
00:00:49 #7685 [Verbose] > │ let v19 : float = -1.0 * v3 │
00:00:49 #7686 [Verbose] > │ let v20 : float = -1.0 * v4 │
00:00:49 #7687 [Verbose] > │ let v21 : float = v11 + v18 │
00:00:49 #7688 [Verbose] > │ let v22 : float = v12 + v19 │
00:00:49 #7689 [Verbose] > │ let v23 : float = v13 + v20 │
00:00:49 #7690 [Verbose] > │ let v24 : float = v21 * v21 │
00:00:49 #7691 [Verbose] > │ let v25 : float = v22 * v22 │
00:00:49 #7692 [Verbose] > │ let v26 : float = v24 + v25 │
00:00:49 #7693 [Verbose] > │ let v27 : float = v23 * v23 │
00:00:49 #7694 [Verbose] > │ let v28 : float = v26 + v27 │
00:00:49 #7695 [Verbose] > │ let v29 : float = sqrt v28 │
00:00:49 #7696 [Verbose] > │ let v30 : float = -5384.0 * v29 │
00:00:49 #7697 [Verbose] > │ let v31 : float = v30 * v21 │
00:00:49 #7698 [Verbose] > │ let v32 : float = v30 * v22 │
00:00:49 #7699 [Verbose] > │ let v33 : float = v30 * v23 │
00:00:49 #7700 [Verbose] > │ let v34 : float = v31 / v29 │
00:00:49 #7701 [Verbose] > │ let v35 : float = v32 / v29 │
00:00:49 #7702 [Verbose] > │ let v36 : float = v33 / v29 │
00:00:49 #7703 [Verbose] > │ struct (v34, v35, v36) │
00:00:49 #7704 [Verbose] > │ and closure140 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:49 #7705 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : (struct (float * │
00:00:49 #7706 [Verbose] > │ float * float * float * float * float * float * float * float) -> struct │
00:00:49 #7707 [Verbose] > │ (float * float * float)) = │
00:00:49 #7708 [Verbose] > │ closure141(v0, v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:49 #7709 [Verbose] > │ and method4 () : UH4 = │
00:00:49 #7710 [Verbose] > │ let v0 : (struct (float * float * float * float * float * float * float │
00:00:49 #7711 [Verbose] > │ * float * float) -> struct (float * float * float)) = closure138() │
00:00:49 #7712 [Verbose] > │ let v1 : US1 = US1_0(0, v0) │
00:00:49 #7713 [Verbose] > │ let v2 : (struct (float * float * float * float * float * float * float │
00:00:49 #7714 [Verbose] > │ * float * float) -> struct (float * float * float)) = closure139() │
00:00:49 #7715 [Verbose] > │ let v3 : US1 = US1_0(63, v2) │
00:00:49 #7716 [Verbose] > │ let v4 : (struct (float * float * float * float * float * float * float │
00:00:49 #7717 [Verbose] > │ * float * float) -> (struct (float * float * float * float * float * float * │
00:00:49 #7718 [Verbose] > │ float * float * float) -> struct (float * float * float))) = closure140() │
00:00:49 #7719 [Verbose] > │ let v5 : US1 = US1_1(0, 1, v4) │
00:00:49 #7720 [Verbose] > │ let v6 : US1 = US1_1(1, 2, v4) │
00:00:49 #7721 [Verbose] > │ let v7 : US1 = US1_1(2, 3, v4) │
00:00:49 #7722 [Verbose] > │ let v8 : US1 = US1_1(3, 4, v4) │
00:00:49 #7723 [Verbose] > │ let v9 : US1 = US1_1(4, 5, v4) │
00:00:49 #7724 [Verbose] > │ let v10 : US1 = US1_1(5, 6, v4) │
00:00:49 #7725 [Verbose] > │ let v11 : US1 = US1_1(6, 7, v4) │
00:00:49 #7726 [Verbose] > │ let v12 : US1 = US1_1(7, 8, v4) │
00:00:49 #7727 [Verbose] > │ let v13 : US1 = US1_1(8, 9, v4) │
00:00:49 #7728 [Verbose] > │ let v14 : US1 = US1_1(9, 10, v4) │
00:00:49 #7729 [Verbose] > │ let v15 : US1 = US1_1(10, 11, v4) │
00:00:49 #7730 [Verbose] > │ let v16 : US1 = US1_1(11, 12, v4) │
00:00:49 #7731 [Verbose] > │ let v17 : US1 = US1_1(12, 13, v4) │
00:00:49 #7732 [Verbose] > │ let v18 : US1 = US1_1(13, 14, v4) │
00:00:49 #7733 [Verbose] > │ let v19 : US1 = US1_1(14, 15, v4) │
00:00:49 #7734 [Verbose] > │ let v20 : US1 = US1_1(15, 16, v4) │
00:00:49 #7735 [Verbose] > │ let v21 : US1 = US1_1(16, 17, v4) │
00:00:49 #7736 [Verbose] > │ let v22 : US1 = US1_1(17, 18, v4) │
00:00:49 #7737 [Verbose] > │ let v23 : US1 = US1_1(18, 19, v4) │
00:00:49 #7738 [Verbose] > │ let v24 : US1 = US1_1(19, 20, v4) │
00:00:49 #7739 [Verbose] > │ let v25 : US1 = US1_1(20, 21, v4) │
00:00:49 #7740 [Verbose] > │ let v26 : US1 = US1_1(21, 22, v4) │
00:00:49 #7741 [Verbose] > │ let v27 : US1 = US1_1(22, 23, v4) │
00:00:49 #7742 [Verbose] > │ let v28 : US1 = US1_1(23, 24, v4) │
00:00:49 #7743 [Verbose] > │ let v29 : US1 = US1_1(24, 25, v4) │
00:00:49 #7744 [Verbose] > │ let v30 : US1 = US1_1(25, 26, v4) │
00:00:49 #7745 [Verbose] > │ let v31 : US1 = US1_1(26, 27, v4) │
00:00:49 #7746 [Verbose] > │ let v32 : US1 = US1_1(27, 28, v4) │
00:00:49 #7747 [Verbose] > │ let v33 : US1 = US1_1(28, 29, v4) │
00:00:49 #7748 [Verbose] > │ let v34 : US1 = US1_1(29, 30, v4) │
00:00:49 #7749 [Verbose] > │ let v35 : US1 = US1_1(30, 31, v4) │
00:00:49 #7750 [Verbose] > │ let v36 : US1 = US1_1(31, 32, v4) │
00:00:49 #7751 [Verbose] > │ let v37 : US1 = US1_1(32, 33, v4) │
00:00:49 #7752 [Verbose] > │ let v38 : US1 = US1_1(33, 34, v4) │
00:00:49 #7753 [Verbose] > │ let v39 : US1 = US1_1(34, 35, v4) │
00:00:49 #7754 [Verbose] > │ let v40 : US1 = US1_1(35, 36, v4) │
00:00:49 #7755 [Verbose] > │ let v41 : US1 = US1_1(36, 37, v4) │
00:00:49 #7756 [Verbose] > │ let v42 : US1 = US1_1(37, 38, v4) │
00:00:49 #7757 [Verbose] > │ let v43 : US1 = US1_1(38, 39, v4) │
00:00:49 #7758 [Verbose] > │ let v44 : US1 = US1_1(39, 40, v4) │
00:00:49 #7759 [Verbose] > │ let v45 : US1 = US1_1(40, 41, v4) │
00:00:49 #7760 [Verbose] > │ let v46 : US1 = US1_1(41, 42, v4) │
00:00:49 #7761 [Verbose] > │ let v47 : US1 = US1_1(42, 43, v4) │
00:00:49 #7762 [Verbose] > │ let v48 : US1 = US1_1(43, 44, v4) │
00:00:49 #7763 [Verbose] > │ let v49 : US1 = US1_1(44, 45, v4) │
00:00:49 #7764 [Verbose] > │ let v50 : US1 = US1_1(45, 46, v4) │
00:00:49 #7765 [Verbose] > │ let v51 : US1 = US1_1(46, 47, v4) │
00:00:49 #7766 [Verbose] > │ let v52 : US1 = US1_1(47, 48, v4) │
00:00:49 #7767 [Verbose] > │ let v53 : US1 = US1_1(48, 49, v4) │
00:00:49 #7768 [Verbose] > │ let v54 : US1 = US1_1(49, 50, v4) │
00:00:49 #7769 [Verbose] > │ let v55 : US1 = US1_1(50, 51, v4) │
00:00:49 #7770 [Verbose] > │ let v56 : US1 = US1_1(51, 52, v4) │
00:00:49 #7771 [Verbose] > │ let v57 : US1 = US1_1(52, 53, v4) │
00:00:49 #7772 [Verbose] > │ let v58 : US1 = US1_1(53, 54, v4) │
00:00:49 #7773 [Verbose] > │ let v59 : US1 = US1_1(54, 55, v4) │
00:00:49 #7774 [Verbose] > │ let v60 : US1 = US1_1(55, 56, v4) │
00:00:49 #7775 [Verbose] > │ let v61 : US1 = US1_1(56, 57, v4) │
00:00:49 #7776 [Verbose] > │ let v62 : US1 = US1_1(57, 58, v4) │
00:00:49 #7777 [Verbose] > │ let v63 : US1 = US1_1(58, 59, v4) │
00:00:49 #7778 [Verbose] > │ let v64 : US1 = US1_1(59, 60, v4) │
00:00:49 #7779 [Verbose] > │ let v65 : UH4 = UH4_1 │
00:00:49 #7780 [Verbose] > │ let v66 : UH4 = UH4_0(v64, v65) │
00:00:49 #7781 [Verbose] > │ let v67 : UH4 = UH4_0(v63, v66) │
00:00:49 #7782 [Verbose] > │ let v68 : UH4 = UH4_0(v62, v67) │
00:00:49 #7783 [Verbose] > │ let v69 : UH4 = UH4_0(v61, v68) │
00:00:49 #7784 [Verbose] > │ let v70 : UH4 = UH4_0(v60, v69) │
00:00:49 #7785 [Verbose] > │ let v71 : UH4 = UH4_0(v59, v70) │
00:00:49 #7786 [Verbose] > │ let v72 : UH4 = UH4_0(v58, v71) │
00:00:49 #7787 [Verbose] > │ let v73 : UH4 = UH4_0(v57, v72) │
00:00:49 #7788 [Verbose] > │ let v74 : UH4 = UH4_0(v56, v73) │
00:00:49 #7789 [Verbose] > │ let v75 : UH4 = UH4_0(v55, v74) │
00:00:49 #7790 [Verbose] > │ let v76 : UH4 = UH4_0(v54, v75) │
00:00:49 #7791 [Verbose] > │ let v77 : UH4 = UH4_0(v53, v76) │
00:00:49 #7792 [Verbose] > │ let v78 : UH4 = UH4_0(v52, v77) │
00:00:49 #7793 [Verbose] > │ let v79 : UH4 = UH4_0(v51, v78) │
00:00:49 #7794 [Verbose] > │ let v80 : UH4 = UH4_0(v50, v79) │
00:00:49 #7795 [Verbose] > │ let v81 : UH4 = UH4_0(v49, v80) │
00:00:49 #7796 [Verbose] > │ let v82 : UH4 = UH4_0(v48, v81) │
00:00:49 #7797 [Verbose] > │ let v83 : UH4 = UH4_0(v47, v82) │
00:00:49 #7798 [Verbose] > │ let v84 : UH4 = UH4_0(v46, v83) │
00:00:49 #7799 [Verbose] > │ let v85 : UH4 = UH4_0(v45, v84) │
00:00:49 #7800 [Verbose] > │ let v86 : UH4 = UH4_0(v44, v85) │
00:00:49 #7801 [Verbose] > │ let v87 : UH4 = UH4_0(v43, v86) │
00:00:49 #7802 [Verbose] > │ let v88 : UH4 = UH4_0(v42, v87) │
00:00:49 #7803 [Verbose] > │ let v89 : UH4 = UH4_0(v41, v88) │
00:00:49 #7804 [Verbose] > │ let v90 : UH4 = UH4_0(v40, v89) │
00:00:49 #7805 [Verbose] > │ let v91 : UH4 = UH4_0(v39, v90) │
00:00:49 #7806 [Verbose] > │ let v92 : UH4 = UH4_0(v38, v91) │
00:00:49 #7807 [Verbose] > │ let v93 : UH4 = UH4_0(v37, v92) │
00:00:49 #7808 [Verbose] > │ let v94 : UH4 = UH4_0(v36, v93) │
00:00:49 #7809 [Verbose] > │ let v95 : UH4 = UH4_0(v35, v94) │
00:00:49 #7810 [Verbose] > │ let v96 : UH4 = UH4_0(v34, v95) │
00:00:49 #7811 [Verbose] > │ let v97 : UH4 = UH4_0(v33, v96) │
00:00:49 #7812 [Verbose] > │ let v98 : UH4 = UH4_0(v32, v97) │
00:00:49 #7813 [Verbose] > │ let v99 : UH4 = UH4_0(v31, v98) │
00:00:49 #7814 [Verbose] > │ let v100 : UH4 = UH4_0(v30, v99) │
00:00:49 #7815 [Verbose] > │ let v101 : UH4 = UH4_0(v29, v100) │
00:00:49 #7816 [Verbose] > │ let v102 : UH4 = UH4_0(v28, v101) │
00:00:49 #7817 [Verbose] > │ let v103 : UH4 = UH4_0(v27, v102) │
00:00:49 #7818 [Verbose] > │ let v104 : UH4 = UH4_0(v26, v103) │
00:00:49 #7819 [Verbose] > │ let v105 : UH4 = UH4_0(v25, v104) │
00:00:49 #7820 [Verbose] > │ let v106 : UH4 = UH4_0(v24, v105) │
00:00:49 #7821 [Verbose] > │ let v107 : UH4 = UH4_0(v23, v106) │
00:00:49 #7822 [Verbose] > │ let v108 : UH4 = UH4_0(v22, v107) │
00:00:49 #7823 [Verbose] > │ let v109 : UH4 = UH4_0(v21, v108) │
00:00:49 #7824 [Verbose] > │ let v110 : UH4 = UH4_0(v20, v109) │
00:00:49 #7825 [Verbose] > │ let v111 : UH4 = UH4_0(v19, v110) │
00:00:49 #7826 [Verbose] > │ let v112 : UH4 = UH4_0(v18, v111) │
00:00:49 #7827 [Verbose] > │ let v113 : UH4 = UH4_0(v17, v112) │
00:00:49 #7828 [Verbose] > │ let v114 : UH4 = UH4_0(v16, v113) │
00:00:49 #7829 [Verbose] > │ let v115 : UH4 = UH4_0(v15, v114) │
00:00:49 #7830 [Verbose] > │ let v116 : UH4 = UH4_0(v14, v115) │
00:00:49 #7831 [Verbose] > │ let v117 : UH4 = UH4_0(v13, v116) │
00:00:49 #7832 [Verbose] > │ let v118 : UH4 = UH4_0(v12, v117) │
00:00:49 #7833 [Verbose] > │ let v119 : UH4 = UH4_0(v11, v118) │
00:00:49 #7834 [Verbose] > │ let v120 : UH4 = UH4_0(v10, v119) │
00:00:49 #7835 [Verbose] > │ let v121 : UH4 = UH4_0(v9, v120) │
00:00:49 #7836 [Verbose] > │ let v122 : UH4 = UH4_0(v8, v121) │
00:00:49 #7837 [Verbose] > │ let v123 : UH4 = UH4_0(v7, v122) │
00:00:49 #7838 [Verbose] > │ let v124 : UH4 = UH4_0(v6, v123) │
00:00:49 #7839 [Verbose] > │ let v125 : UH4 = UH4_0(v5, v124) │
00:00:49 #7840 [Verbose] > │ let v126 : UH4 = UH4_0(v3, v125) │
00:00:49 #7841 [Verbose] > │ UH4_0(v1, v126) │
00:00:49 #7842 [Verbose] > │ and closure143 (v0 : UH5) () : UH5 = │
00:00:49 #7843 [Verbose] > │ v0 │
00:00:49 #7844 [Verbose] > │ and method5 (v0 : UH1, v1 : UH5, v2 : int32) : struct (UH5 * int32) = │
00:00:49 #7845 [Verbose] > │ match v0 with │
00:00:49 #7846 [Verbose] > │ | UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* StreamCons *) │
00:00:49 #7847 [Verbose] > │ let v13 : int32 = v2 + 1 │
00:00:49 #7848 [Verbose] > │ let v14 : UH1 = v12 () │
00:00:49 #7849 [Verbose] > │ let v15 : (unit -> UH5) = closure143(v1) │
00:00:49 #7850 [Verbose] > │ let v16 : UH5 = UH5_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v15) │
00:00:49 #7851 [Verbose] > │ method5(v14, v16, v13) │
00:00:49 #7852 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7853 [Verbose] > │ struct (v1, v2) │
00:00:49 #7854 [Verbose] > │ and closure144 (v0 : UH5) () : UH5 = │
00:00:49 #7855 [Verbose] > │ v0 │
00:00:49 #7856 [Verbose] > │ and method6 (v0 : UH5, v1 : UH5) : UH5 = │
00:00:49 #7857 [Verbose] > │ match v0 with │
00:00:49 #7858 [Verbose] > │ | UH5_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* StreamCons │
00:00:49 #7859 [Verbose] > │ *) │
00:00:49 #7860 [Verbose] > │ let v13 : UH5 = v12 () │
00:00:49 #7861 [Verbose] > │ let v14 : (unit -> UH5) = closure144(v1) │
00:00:49 #7862 [Verbose] > │ let v15 : UH5 = UH5_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v14) │
00:00:49 #7863 [Verbose] > │ method6(v13, v15) │
00:00:49 #7864 [Verbose] > │ | UH5_1 -> (* StreamNil *) │
00:00:49 #7865 [Verbose] > │ v1 │
00:00:49 #7866 [Verbose] > │ and closure145 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:49 #7867 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:49 #7868 [Verbose] > │ float * float) = │
00:00:49 #7869 [Verbose] > │ struct (0.0, 0.0, 0.0) │
00:00:49 #7870 [Verbose] > │ and method9 (v0 : int32, v1 : UH1) : US3 = │
00:00:49 #7871 [Verbose] > │ match v1 with │
00:00:49 #7872 [Verbose] > │ | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* StreamCons *) │
00:00:49 #7873 [Verbose] > │ let v12 : bool = v0 <= 0 │
00:00:49 #7874 [Verbose] > │ if v12 then │
00:00:49 #7875 [Verbose] > │ US3_1(v2, v3, v4, v5, v6, v7, v8, v9, v10) │
00:00:49 #7876 [Verbose] > │ else │
00:00:49 #7877 [Verbose] > │ let v14 : int32 = v0 - 1 │
00:00:49 #7878 [Verbose] > │ let v15 : UH1 = v11 () │
00:00:49 #7879 [Verbose] > │ method9(v14, v15) │
00:00:49 #7880 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #7881 [Verbose] > │ US3_0 │
00:00:49 #7882 [Verbose] > │ and closure146 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 │
00:00:49 #7883 [Verbose] > │ : float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
00:00:49 #7884 [Verbose] > │ float * float) = │
00:00:49 #7885 [Verbose] > │ struct (0.0, 0.0, 0.0) │
00:00:49 #7886 [Verbose] > │ and method8 (v0 : int32, v1 : UH1, v2 : UH4, v3 : UH6) : UH6 = │
00:00:49 #7887 [Verbose] > │ match v2 with │
00:00:49 #7888 [Verbose] > │ | UH4_0(v4, v5) -> (* Cons *) │
00:00:49 #7889 [Verbose] > │ let v6 : UH6 = method8(v0, v1, v5, v3) │
00:00:49 #7890 [Verbose] > │ let v55 : (struct (float * float * float * float * float * float * │
00:00:49 #7891 [Verbose] > │ float * float * float) -> struct (float * float * float)) = │
00:00:49 #7892 [Verbose] > │ match v4 with │
00:00:49 #7893 [Verbose] > │ | US1_0(v7, v8) -> (* ExternalForce *) │
00:00:49 #7894 [Verbose] > │ let v9 : bool = v0 = v7 │
00:00:49 #7895 [Verbose] > │ if v9 then │
00:00:49 #7896 [Verbose] > │ v8 │
00:00:49 #7897 [Verbose] > │ else │
00:00:49 #7898 [Verbose] > │ closure145() │
00:00:49 #7899 [Verbose] > │ | US1_1(v12, v13, v14) -> (* InternalForce *) │
00:00:49 #7900 [Verbose] > │ let v15 : bool = v0 = v12 │
00:00:49 #7901 [Verbose] > │ let v49 : US2 = │
00:00:49 #7902 [Verbose] > │ if v15 then │
00:00:49 #7903 [Verbose] > │ let v16 : US3 = method9(v13, v1) │
00:00:49 #7904 [Verbose] > │ match v16 with │
00:00:49 #7905 [Verbose] > │ | US3_0 -> (* None *) │
00:00:49 #7906 [Verbose] > │ US2_0 │
00:00:49 #7907 [Verbose] > │ | US3_1(v17, v18, v19, v20, v21, v22, v23, v24, v25) │
00:00:49 #7908 [Verbose] > │ -> (* Some *) │
00:00:49 #7909 [Verbose] > │ let v26 : (struct (float * float * float * float │
00:00:49 #7910 [Verbose] > │ * float * float * float * float * float) -> struct (float * float * float)) │
00:00:49 #7911 [Verbose] > │ = v14 struct (v17, v18, v19, v20, v21, v22, v23, v24, v25) │
00:00:49 #7912 [Verbose] > │ US2_1(v26) │
00:00:49 #7913 [Verbose] > │ else │
00:00:49 #7914 [Verbose] > │ let v31 : bool = v0 = v13 │
00:00:49 #7915 [Verbose] > │ if v31 then │
00:00:49 #7916 [Verbose] > │ let v32 : US3 = method9(v12, v1) │
00:00:49 #7917 [Verbose] > │ match v32 with │
00:00:49 #7918 [Verbose] > │ | US3_0 -> (* None *) │
00:00:49 #7919 [Verbose] > │ US2_0 │
00:00:49 #7920 [Verbose] > │ | US3_1(v33, v34, v35, v36, v37, v38, v39, v40, │
00:00:49 #7921 [Verbose] > │ v41) -> (* Some *) │
00:00:49 #7922 [Verbose] > │ let v42 : (struct (float * float * float * │
00:00:49 #7923 [Verbose] > │ float * float * float * float * float * float) -> struct (float * float * │
00:00:49 #7924 [Verbose] > │ float)) = v14 struct (v33, v34, v35, v36, v37, v38, v39, v40, v41) │
00:00:49 #7925 [Verbose] > │ US2_1(v42) │
00:00:49 #7926 [Verbose] > │ else │
00:00:49 #7927 [Verbose] > │ US2_0 │
00:00:49 #7928 [Verbose] > │ match v49 with │
00:00:49 #7929 [Verbose] > │ | US2_0 -> (* None *) │
00:00:49 #7930 [Verbose] > │ closure146() │
00:00:49 #7931 [Verbose] > │ | US2_1(v50) -> (* Some *) │
00:00:49 #7932 [Verbose] > │ v50 │
00:00:49 #7933 [Verbose] > │ UH6_0(v55, v6) │
00:00:49 #7934 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:49 #7935 [Verbose] > │ v3 │
00:00:49 #7936 [Verbose] > │ and method10 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
00:00:49 #7937 [Verbose] > │ : float, v6 : float, v7 : float, v8 : float, v9 : UH6, v10 : UH7) : UH7 = │
00:00:49 #7938 [Verbose] > │ match v9 with │
00:00:49 #7939 [Verbose] > │ | UH6_0(v11, v12) -> (* Cons *) │
00:00:49 #7940 [Verbose] > │ let v13 : UH7 = method10(v0, v1, v2, v3, v4, v5, v6, v7, v8, v12, │
00:00:49 #7941 [Verbose] > │ v10) │
00:00:49 #7942 [Verbose] > │ let struct (v14 : float, v15 : float, v16 : float) = v11 struct (v0, │
00:00:49 #7943 [Verbose] > │ v1, v2, v3, v4, v5, v6, v7, v8) │
00:00:49 #7944 [Verbose] > │ UH7_0(v14, v15, v16, v13) │
00:00:49 #7945 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:49 #7946 [Verbose] > │ v10 │
00:00:49 #7947 [Verbose] > │ and method11 (v0 : UH7, v1 : float, v2 : float, v3 : float) : struct (float │
00:00:49 #7948 [Verbose] > │ * float * float) = │
00:00:49 #7949 [Verbose] > │ match v0 with │
00:00:49 #7950 [Verbose] > │ | UH7_0(v4, v5, v6, v7) -> (* Cons *) │
00:00:49 #7951 [Verbose] > │ let v8 : float = v1 + v4 │
00:00:49 #7952 [Verbose] > │ let v9 : float = v2 + v5 │
00:00:49 #7953 [Verbose] > │ let v10 : float = v3 + v6 │
00:00:49 #7954 [Verbose] > │ method11(v7, v8, v9, v10) │
00:00:49 #7955 [Verbose] > │ | UH7_1 -> (* Nil *) │
00:00:49 #7956 [Verbose] > │ struct (v1, v2, v3) │
00:00:49 #7957 [Verbose] > │ and closure147 (v0 : UH3) () : UH3 = │
00:00:49 #7958 [Verbose] > │ v0 │
00:00:49 #7959 [Verbose] > │ and method7 (v0 : UH4, v1 : UH1, v2 : UH5, v3 : UH3) : UH3 = │
00:00:49 #7960 [Verbose] > │ match v2 with │
00:00:49 #7961 [Verbose] > │ | UH5_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* │
00:00:49 #7962 [Verbose] > │ StreamCons *) │
00:00:49 #7963 [Verbose] > │ let v15 : UH5 = v14 () │
00:00:49 #7964 [Verbose] > │ let v16 : UH3 = method7(v0, v1, v15, v3) │
00:00:49 #7965 [Verbose] > │ let v17 : UH6 = UH6_1 │
00:00:49 #7966 [Verbose] > │ let v18 : UH6 = method8(v4, v1, v0, v17) │
00:00:49 #7967 [Verbose] > │ let v19 : UH7 = UH7_1 │
00:00:49 #7968 [Verbose] > │ let v20 : UH7 = method10(v5, v6, v7, v8, v9, v10, v11, v12, v13, │
00:00:49 #7969 [Verbose] > │ v18, v19) │
00:00:49 #7970 [Verbose] > │ let v21 : float = 0.0 │
00:00:49 #7971 [Verbose] > │ let v22 : float = 0.0 │
00:00:49 #7972 [Verbose] > │ let v23 : float = 0.0 │
00:00:49 #7973 [Verbose] > │ let struct (v24 : float, v25 : float, v26 : float) = method11(v20, │
00:00:49 #7974 [Verbose] > │ v21, v22, v23) │
00:00:49 #7975 [Verbose] > │ let v27 : float = v24 / v6 │
00:00:49 #7976 [Verbose] > │ let v28 : float = v25 / v6 │
00:00:49 #7977 [Verbose] > │ let v29 : float = v26 / v6 │
00:00:49 #7978 [Verbose] > │ let v30 : (unit -> UH3) = closure147(v16) │
00:00:49 #7979 [Verbose] > │ UH3_0(0.0, 0.0, v11, v12, v13, 1.0, v27, v28, v29, v30) │
00:00:49 #7980 [Verbose] > │ | UH5_1 -> (* StreamNil *) │
00:00:49 #7981 [Verbose] > │ v3 │
00:00:49 #7982 [Verbose] > │ and closure142 (v0 : UH4) (v1 : UH1) : UH3 = │
00:00:49 #7983 [Verbose] > │ let v2 : UH5 = UH5_1 │
00:00:49 #7984 [Verbose] > │ let v3 : int32 = 0 │
00:00:49 #7985 [Verbose] > │ let struct (v4 : UH5, v5 : int32) = method5(v1, v2, v3) │
00:00:49 #7986 [Verbose] > │ let v6 : UH5 = UH5_1 │
00:00:49 #7987 [Verbose] > │ let v7 : UH5 = method6(v4, v6) │
00:00:49 #7988 [Verbose] > │ let v8 : UH3 = UH3_1 │
00:00:49 #7989 [Verbose] > │ let v9 : UH3 = method7(v0, v1, v7, v8) │
00:00:49 #7990 [Verbose] > │ v9 │
00:00:49 #7991 [Verbose] > │ and closure148 (v0 : (UH1 -> UH1), v1 : UH1, v2 : UH1) () : UH8 = │
00:00:49 #7992 [Verbose] > │ let v3 : UH1 = v0 v2 │
00:00:49 #7993 [Verbose] > │ let v4 : (unit -> UH8) = closure148(v0, v1, v3) │
00:00:49 #7994 [Verbose] > │ UH8_0(v2, v4) │
00:00:49 #7995 [Verbose] > │ and method12 (v0 : float, v1 : UH8) : US4 = │
00:00:49 #7996 [Verbose] > │ match v1 with │
00:00:49 #7997 [Verbose] > │ | UH8_0(v2, v3) -> (* StreamCons *) │
00:00:49 #7998 [Verbose] > │ let v4 : bool = v0 <= 0.0 │
00:00:49 #7999 [Verbose] > │ if v4 then │
00:00:49 #8000 [Verbose] > │ US4_1(v2) │
00:00:49 #8001 [Verbose] > │ else │
00:00:49 #8002 [Verbose] > │ let v6 : float = v0 - 1.0 │
00:00:49 #8003 [Verbose] > │ let v7 : UH8 = v3 () │
00:00:49 #8004 [Verbose] > │ method12(v6, v7) │
00:00:49 #8005 [Verbose] > │ | UH8_1 -> (* StreamNil *) │
00:00:49 #8006 [Verbose] > │ US4_0 │
00:00:49 #8007 [Verbose] > │ and closure149 (v0 : UH9) () : UH9 = │
00:00:49 #8008 [Verbose] > │ v0 │
00:00:49 #8009 [Verbose] > │ and method13 (v0 : UH1, v1 : UH9) : UH9 = │
00:00:49 #8010 [Verbose] > │ match v0 with │
00:00:49 #8011 [Verbose] > │ | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* StreamCons *) │
00:00:49 #8012 [Verbose] > │ let v12 : UH1 = v11 () │
00:00:49 #8013 [Verbose] > │ let v13 : UH9 = method13(v12, v1) │
00:00:49 #8014 [Verbose] > │ let v14 : (unit -> UH9) = closure149(v13) │
00:00:49 #8015 [Verbose] > │ UH9_0(v4, v5, v6, v14) │
00:00:49 #8016 [Verbose] > │ | UH1_1 -> (* StreamNil *) │
00:00:49 #8017 [Verbose] > │ v1 │
00:00:49 #8018 [Verbose] > │ and method14 (v0 : UH9, v1 : UH7) : UH7 = │
00:00:49 #8019 [Verbose] > │ match v0 with │
00:00:49 #8020 [Verbose] > │ | UH9_0(v2, v3, v4, v5) -> (* StreamCons *) │
00:00:49 #8021 [Verbose] > │ let v6 : UH9 = v5 () │
00:00:49 #8022 [Verbose] > │ let v7 : UH7 = method14(v6, v1) │
00:00:49 #8023 [Verbose] > │ UH7_0(v2, v3, v4, v7) │
00:00:49 #8024 [Verbose] > │ | UH9_1 -> (* StreamNil *) │
00:00:49 #8025 [Verbose] > │ v1 │
00:00:49 #8026 [Verbose] > │ and method15 (v0 : UH7, v1 : UH7) : UH7 = │
00:00:49 #8027 [Verbose] > │ match v0 with │
00:00:49 #8028 [Verbose] > │ | UH7_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:49 #8029 [Verbose] > │ let v6 : UH7 = method15(v5, v1) │
00:00:49 #8030 [Verbose] > │ UH7_0(v2, v3, v4, v6) │
00:00:49 #8031 [Verbose] > │ | UH7_1 -> (* Nil *) │
00:00:49 #8032 [Verbose] > │ v1 │
00:00:49 #8033 [Verbose] > │ and method16 (v0 : UH7, v1 : UH10) : UH10 = │
00:00:49 #8034 [Verbose] > │ match v0 with │
00:00:49 #8035 [Verbose] > │ | UH7_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:49 #8036 [Verbose] > │ let v6 : UH10 = method16(v5, v1) │
00:00:49 #8037 [Verbose] > │ UH10_0(v2, v3, v6) │
00:00:49 #8038 [Verbose] > │ | UH7_1 -> (* Nil *) │
00:00:49 #8039 [Verbose] > │ v1 │
00:00:49 #8040 [Verbose] > │ and closure150 (v0 : UH11) () : UH11 = │
00:00:49 #8041 [Verbose] > │ v0 │
00:00:49 #8042 [Verbose] > │ and method17 (v0 : UH10, v1 : UH11) : UH11 = │
00:00:49 #8043 [Verbose] > │ match v0 with │
00:00:49 #8044 [Verbose] > │ | UH10_0(v2, v3, v4) -> (* Cons *) │
00:00:49 #8045 [Verbose] > │ let v5 : UH11 = method17(v4, v1) │
00:00:49 #8046 [Verbose] > │ let v6 : (unit -> UH11) = closure150(v5) │
00:00:49 #8047 [Verbose] > │ UH11_0(v2, v3, v6) │
00:00:49 #8048 [Verbose] > │ | UH10_1 -> (* Nil *) │
00:00:49 #8049 [Verbose] > │ v1 │
00:00:49 #8050 [Verbose] > │ and closure151 (v0 : UH0) () : UH0 = │
00:00:49 #8051 [Verbose] > │ v0 │
00:00:49 #8052 [Verbose] > │ and closure152 (v0 : UH0) () : UH0 = │
00:00:49 #8053 [Verbose] > │ v0 │
00:00:49 #8054 [Verbose] > │ and method18 (v0 : UH11) : struct (UH0 * UH0) = │
00:00:49 #8055 [Verbose] > │ match v0 with │
00:00:49 #8056 [Verbose] > │ | UH11_0(v1, v2, v3) -> (* StreamCons *) │
00:00:49 #8057 [Verbose] > │ let v4 : UH11 = v3 () │
00:00:49 #8058 [Verbose] > │ let struct (v5 : UH0, v6 : UH0) = method18(v4) │
00:00:49 #8059 [Verbose] > │ let v7 : (unit -> UH0) = closure151(v5) │
00:00:49 #8060 [Verbose] > │ let v8 : UH0 = UH0_0(v1, v7) │
00:00:49 #8061 [Verbose] > │ let v9 : (unit -> UH0) = closure152(v6) │
00:00:49 #8062 [Verbose] > │ let v10 : UH0 = UH0_0(v2, v9) │
00:00:49 #8063 [Verbose] > │ struct (v8, v10) │
00:00:49 #8064 [Verbose] > │ | UH11_1 -> (* StreamNil *) │
00:00:49 #8065 [Verbose] > │ let v11 : UH0 = UH0_1 │
00:00:49 #8066 [Verbose] > │ let v12 : UH0 = UH0_1 │
00:00:49 #8067 [Verbose] > │ struct (v11, v12) │
00:00:49 #8068 [Verbose] > │ and method19 (v0 : UH0, v1 : UH12) : UH12 = │
00:00:49 #8069 [Verbose] > │ match v0 with │
00:00:49 #8070 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │
00:00:49 #8071 [Verbose] > │ let v4 : UH0 = v3 () │
00:00:49 #8072 [Verbose] > │ let v5 : UH12 = method19(v4, v1) │
00:00:49 #8073 [Verbose] > │ UH12_0(v2, v5) │
00:00:49 #8074 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:49 #8075 [Verbose] > │ v1 │
00:00:49 #8076 [Verbose] > │ and method21 (v0 : UH12, v1 : int32) : int32 = │
00:00:49 #8077 [Verbose] > │ match v0 with │
00:00:49 #8078 [Verbose] > │ | UH12_0(v2, v3) -> (* Cons *) │
00:00:49 #8079 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:49 #8080 [Verbose] > │ method21(v3, v4) │
00:00:49 #8081 [Verbose] > │ | UH12_1 -> (* Nil *) │
00:00:49 #8082 [Verbose] > │ v1 │
00:00:49 #8083 [Verbose] > │ and method22 (v0 : (float []), v1 : UH12, v2 : int32) : int32 = │
00:00:49 #8084 [Verbose] > │ match v1 with │
00:00:49 #8085 [Verbose] > │ | UH12_0(v3, v4) -> (* Cons *) │
00:00:49 #8086 [Verbose] > │ v0.[int v2] <- v3 │
00:00:49 #8087 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:49 #8088 [Verbose] > │ method22(v0, v4, v5) │
00:00:49 #8089 [Verbose] > │ | UH12_1 -> (* Nil *) │
00:00:49 #8090 [Verbose] > │ v2 │
00:00:49 #8091 [Verbose] > │ and method20 (v0 : UH12) : (float []) = │
00:00:49 #8092 [Verbose] > │ let v1 : int32 = 0 │
00:00:49 #8093 [Verbose] > │ let v2 : int32 = method21(v0, v1) │
00:00:49 #8094 [Verbose] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
00:00:49 #8095 [Verbose] > │ let v4 : int32 = 0 │
00:00:49 #8096 [Verbose] > │ let v5 : int32 = method22(v3, v0, v4) │
00:00:49 #8097 [Verbose] > │ v3 │
00:00:49 #8098 [Verbose] > │ and closure153 (v0 : UH2) () : UH2 = │
00:00:49 #8099 [Verbose] > │ v0 │
00:00:49 #8100 [Verbose] > │ and method1 (v0 : UH1, v1 : UH0, v2 : UH2) : UH2 = │
00:00:49 #8101 [Verbose] > │ match v1 with │
00:00:49 #8102 [Verbose] > │ | UH0_0(v3, v4) -> (* StreamCons *) │
00:00:49 #8103 [Verbose] > │ let v5 : UH0 = v4 () │
00:00:49 #8104 [Verbose] > │ let v6 : UH2 = method1(v0, v5, v2) │
00:00:49 #8105 [Verbose] > │ let v7 : ((UH1 -> UH3) -> (UH1 -> UH1)) = method2() │
00:00:49 #8106 [Verbose] > │ let v8 : UH4 = method4() │
00:00:49 #8107 [Verbose] > │ let v9 : (UH1 -> UH3) = closure142(v8) │
00:00:49 #8108 [Verbose] > │ let v10 : (UH1 -> UH1) = v7 v9 │
00:00:49 #8109 [Verbose] > │ let v11 : UH1 = v10 v0 │
00:00:49 #8110 [Verbose] > │ let v12 : (unit -> UH8) = closure148(v10, v0, v11) │
00:00:49 #8111 [Verbose] > │ let v13 : UH8 = UH8_0(v0, v12) │
00:00:49 #8112 [Verbose] > │ let v14 : US4 = method12(v3, v13) │
00:00:49 #8113 [Verbose] > │ let v18 : UH1 = │
00:00:49 #8114 [Verbose] > │ match v14 with │
00:00:49 #8115 [Verbose] > │ | US4_0 -> (* None *) │
00:00:49 #8116 [Verbose] > │ failwith<UH1> "Option does not have a value." │
00:00:49 #8117 [Verbose] > │ | US4_1(v15) -> (* Some *) │
00:00:49 #8118 [Verbose] > │ v15 │
00:00:49 #8119 [Verbose] > │ let v19 : UH9 = UH9_1 │
00:00:49 #8120 [Verbose] > │ let v20 : UH9 = method13(v18, v19) │
00:00:49 #8121 [Verbose] > │ let v21 : UH7 = UH7_1 │
00:00:49 #8122 [Verbose] > │ let v22 : UH7 = method14(v20, v21) │
00:00:49 #8123 [Verbose] > │ let v23 : float = 0.65 │
00:00:49 #8124 [Verbose] > │ let v24 : float = 0.0 │
00:00:49 #8125 [Verbose] > │ let v25 : float = 0.0 │
00:00:49 #8126 [Verbose] > │ let v26 : UH7 = UH7_1 │
00:00:49 #8127 [Verbose] > │ let v27 : UH7 = UH7_0(v23, v24, v25, v26) │
00:00:49 #8128 [Verbose] > │ let v28 : UH7 = method15(v22, v27) │
00:00:49 #8129 [Verbose] > │ let v29 : UH10 = UH10_1 │
00:00:49 #8130 [Verbose] > │ let v30 : UH10 = method16(v28, v29) │
00:00:49 #8131 [Verbose] > │ let v31 : UH11 = UH11_1 │
00:00:49 #8132 [Verbose] > │ let v32 : UH11 = method17(v30, v31) │
00:00:49 #8133 [Verbose] > │ let struct (v33 : UH0, v34 : UH0) = method18(v32) │
00:00:49 #8134 [Verbose] > │ let v35 : UH12 = UH12_1 │
00:00:49 #8135 [Verbose] > │ let v36 : UH12 = method19(v33, v35) │
00:00:49 #8136 [Verbose] > │ let v37 : float = 0.0 │
00:00:49 #8137 [Verbose] > │ let v38 : UH12 = UH12_0(v37, v36) │
00:00:49 #8138 [Verbose] > │ let v39 : (float []) = method20(v38) │
00:00:49 #8139 [Verbose] > │ let v40 : UH12 = UH12_1 │
00:00:49 #8140 [Verbose] > │ let v41 : UH12 = method19(v34, v40) │
00:00:49 #8141 [Verbose] > │ let v42 : float = 0.0 │
00:00:49 #8142 [Verbose] > │ let v43 : UH12 = UH12_0(v42, v41) │
00:00:49 #8143 [Verbose] > │ let v44 : (float []) = method20(v43) │
00:00:49 #8144 [Verbose] > │ let v45 : (unit -> UH2) = closure153(v6) │
00:00:49 #8145 [Verbose] > │ UH2_0(v39, v44, v45) │
00:00:49 #8146 [Verbose] > │ | UH0_1 -> (* StreamNil *) │
00:00:49 #8147 [Verbose] > │ v2 │
00:00:49 #8148 [Verbose] > │ and closure154 (v0 : UH13) () : UH13 = │
00:00:49 #8149 [Verbose] > │ v0 │
00:00:49 #8150 [Verbose] > │ and method23 (v0 : UH2, v1 : UH13, v2 : int32) : struct (UH13 * int32) = │
00:00:49 #8151 [Verbose] > │ match v0 with │
00:00:49 #8152 [Verbose] > │ | UH2_0(v3, v4, v5) -> (* StreamCons *) │
00:00:49 #8153 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:49 #8154 [Verbose] > │ let v7 : UH2 = v5 () │
00:00:49 #8155 [Verbose] > │ let v8 : (unit -> UH13) = closure154(v1) │
00:00:49 #8156 [Verbose] > │ let v9 : UH13 = UH13_0(v2, v3, v4, v8) │
00:00:49 #8157 [Verbose] > │ method23(v7, v9, v6) │
00:00:49 #8158 [Verbose] > │ | UH2_1 -> (* StreamNil *) │
00:00:49 #8159 [Verbose] > │ struct (v1, v2) │
00:00:49 #8160 [Verbose] > │ and closure155 (v0 : UH13) () : UH13 = │
00:00:49 #8161 [Verbose] > │ v0 │
00:00:49 #8162 [Verbose] > │ and method24 (v0 : UH13, v1 : UH13) : UH13 = │
00:00:49 #8163 [Verbose] > │ match v0 with │
00:00:49 #8164 [Verbose] > │ | UH13_0(v2, v3, v4, v5) -> (* StreamCons *) │
00:00:49 #8165 [Verbose] > │ let v6 : UH13 = v5 () │
00:00:49 #8166 [Verbose] > │ let v7 : (unit -> UH13) = closure155(v1) │
00:00:49 #8167 [Verbose] > │ let v8 : UH13 = UH13_0(v2, v3, v4, v7) │
00:00:49 #8168 [Verbose] > │ method24(v6, v8) │
00:00:49 #8169 [Verbose] > │ | UH13_1 -> (* StreamNil *) │
00:00:49 #8170 [Verbose] > │ v1 │
00:00:49 #8171 [Verbose] > │ and closure156 (v0 : UH14) () : UH14 = │
00:00:49 #8172 [Verbose] > │ v0 │
00:00:49 #8173 [Verbose] > │ and method25 (v0 : UH13, v1 : UH14) : UH14 = │
00:00:49 #8174 [Verbose] > │ match v0 with │
00:00:49 #8175 [Verbose] > │ | UH13_0(v2, v3, v4, v5) -> (* StreamCons *) │
00:00:49 #8176 [Verbose] > │ let v6 : UH13 = v5 () │
00:00:49 #8177 [Verbose] > │ let v7 : UH14 = method25(v6, v1) │
00:00:49 #8178 [Verbose] > │ let v8 : string = $"{v2}" │
00:00:49 #8179 [Verbose] > │ let v9 : (struct (string * (float []) * (float [])) []) = [|struct │
00:00:49 #8180 [Verbose] > │ (v8, v3, v4)|] │
00:00:49 #8181 [Verbose] > │ let v10 : string = "wave" │
00:00:49 #8182 [Verbose] > │ let v11 : string = "position (m)" │
00:00:49 #8183 [Verbose] > │ let v12 : string = "displacement (m)" │
00:00:49 #8184 [Verbose] > │ let v13 : (unit -> UH14) = closure156(v7) │
00:00:49 #8185 [Verbose] > │ UH14_0(v10, v11, v12, v9, v13) │
00:00:49 #8186 [Verbose] > │ | UH13_1 -> (* StreamNil *) │
00:00:49 #8187 [Verbose] > │ v1 │
00:00:49 #8188 [Verbose] > │ and method26 (v0 : UH14, v1 : UH15) : UH15 = │
00:00:49 #8189 [Verbose] > │ match v0 with │
00:00:49 #8190 [Verbose] > │ | UH14_0(v2, v3, v4, v5, v6) -> (* StreamCons *) │
00:00:49 #8191 [Verbose] > │ let v7 : UH14 = v6 () │
00:00:49 #8192 [Verbose] > │ let v8 : UH15 = method26(v7, v1) │
00:00:49 #8193 [Verbose] > │ UH15_0(v2, v3, v4, v5, v8) │
00:00:49 #8194 [Verbose] > │ | UH14_1 -> (* StreamNil *) │
00:00:49 #8195 [Verbose] > │ v1 │
00:00:49 #8196 [Verbose] > │ and method28 (v0 : UH15, v1 : int32) : int32 = │
00:00:49 #8197 [Verbose] > │ match v0 with │
00:00:49 #8198 [Verbose] > │ | UH15_0(v2, v3, v4, v5, v6) -> (* Cons *) │
00:00:49 #8199 [Verbose] > │ let v7 : int32 = v1 + 1 │
00:00:49 #8200 [Verbose] > │ method28(v6, v7) │
00:00:49 #8201 [Verbose] > │ | UH15_1 -> (* Nil *) │
00:00:49 #8202 [Verbose] > │ v1 │
00:00:49 #8203 [Verbose] > │ and method29 (v0 : (struct (string * string * string * (struct (string * │
00:00:49 #8204 [Verbose] > │ (float []) * (float [])) [])) []), v1 : UH15, v2 : int32) : int32 = │
00:00:49 #8205 [Verbose] > │ match v1 with │
00:00:49 #8206 [Verbose] > │ | UH15_0(v3, v4, v5, v6, v7) -> (* Cons *) │
00:00:49 #8207 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5, v6) │
00:00:49 #8208 [Verbose] > │ let v8 : int32 = v2 + 1 │
00:00:49 #8209 [Verbose] > │ method29(v0, v7, v8) │
00:00:49 #8210 [Verbose] > │ | UH15_1 -> (* Nil *) │
00:00:49 #8211 [Verbose] > │ v2 │
00:00:49 #8212 [Verbose] > │ and method27 (v0 : UH15) : (struct (string * string * string * (struct │
00:00:49 #8213 [Verbose] > │ (string * (float []) * (float [])) [])) []) = │
00:00:49 #8214 [Verbose] > │ let v1 : int32 = 0 │
00:00:49 #8215 [Verbose] > │ let v2 : int32 = method28(v0, v1) │
00:00:49 #8216 [Verbose] > │ let v3 : (struct (string * string * string * (struct (string * (float [ │
00:00:49 #8217 [Verbose] > │ ]) * (float [])) [])) []) = Array.zeroCreate<struct (string * string * │
00:00:49 #8218 [Verbose] > │ string * (struct (string * (float []) * (float [])) []))> (v2) │
00:00:49 #8219 [Verbose] > │ let v4 : int32 = 0 │
00:00:49 #8220 [Verbose] > │ let v5 : int32 = method29(v3, v0, v4) │
00:00:49 #8221 [Verbose] > │ v3 │
00:00:49 #8222 [Verbose] > │ and method0 () : (struct (string * string * string * (struct (string * │
00:00:49 #8223 [Verbose] > │ (float []) * (float [])) [])) []) = │
00:00:49 #8224 [Verbose] > │ let v0 : float = 0.0 │
00:00:49 #8225 [Verbose] > │ let v1 : (unit -> UH0) = closure0() │
00:00:49 #8226 [Verbose] > │ let v2 : UH0 = UH0_0(v0, v1) │
00:00:49 #8227 [Verbose] > │ let v3 : float = 0.0 │
00:00:49 #8228 [Verbose] > │ let v4 : float = 8.422578125E-06 │
00:00:49 #8229 [Verbose] > │ let v5 : float = 0.01 │
00:00:49 #8230 [Verbose] > │ let v6 : float = 0.0007224452478461068 │
00:00:49 #8231 [Verbose] > │ let v7 : float = 0.0 │
00:00:49 #8232 [Verbose] > │ let v8 : float = 0.0 │
00:00:49 #8233 [Verbose] > │ let v9 : float = 0.0 │
00:00:49 #8234 [Verbose] > │ let v10 : float = 0.0 │
00:00:49 #8235 [Verbose] > │ let v11 : float = 0.0 │
00:00:49 #8236 [Verbose] > │ let v12 : (unit -> UH1) = closure66() │
00:00:49 #8237 [Verbose] > │ let v13 : UH1 = UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) │
00:00:49 #8238 [Verbose] > │ let v14 : UH2 = UH2_1 │
00:00:49 #8239 [Verbose] > │ let v15 : UH2 = method1(v13, v2, v14) │
00:00:49 #8240 [Verbose] > │ let v16 : UH13 = UH13_1 │
00:00:49 #8241 [Verbose] > │ let v17 : int32 = 0 │
00:00:49 #8242 [Verbose] > │ let struct (v18 : UH13, v19 : int32) = method23(v15, v16, v17) │
00:00:49 #8243 [Verbose] > │ let v20 : UH13 = UH13_1 │
00:00:49 #8244 [Verbose] > │ let v21 : UH13 = method24(v18, v20) │
00:00:49 #8245 [Verbose] > │ let v22 : UH14 = UH14_1 │
00:00:49 #8246 [Verbose] > │ let v23 : UH14 = method25(v21, v22) │
00:00:49 #8247 [Verbose] > │ let v24 : UH15 = UH15_1 │
00:00:49 #8248 [Verbose] > │ let v25 : UH15 = method26(v23, v24) │
00:00:49 #8249 [Verbose] > │ method27(v25) │
00:00:49 #8250 [Verbose] > │ method0() │
00:00:49 #8251 [Verbose] > │ │
00:00:49 #8252 [Verbose] > │ │
00:00:49 #8253 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:49 #8254 [Verbose] >
00:00:49 #8255 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:49 #8256 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:49 #8257 [Verbose] > │ ## end │
00:00:49 #8258 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:51 #8259 [Verbose] > [NbConvertApp] Converting notebook physics.dib.ipynb to html
00:00:51 #8260 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:51 #8261 [Verbose] > validate(nb)
00:00:52 #8262 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:52 #8263 [Verbose] > return _pygments_highlight(
00:00:55 #8264 [Verbose] > [NbConvertApp] Writing 2727747 bytes to physics.dib.html
00:00:56 #8265 [Debug] executeAsync / exitCode: 0 / output.Length: 563450
00:00:56 #8266 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: testing.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: optionm'.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: common.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: console.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: am'.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: listm'.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: math.dib
00:00:00 #1 [Debug] writeDibCode / output: Spi / path: benchmark.dib
00:00:00 #9 [Debug] parseDibCode / output: Spi / file: listm'.dib
00:00:00 #5 [Debug] parseDibCode / output: Spi / file: benchmark.dib
00:00:00 #5 [Debug] parseDibCode / output: Spi / file: math.dib
00:00:00 #5 [Debug] parseDibCode / output: Spi / file: testing.dib
00:00:00 #5 [Debug] parseDibCode / output: Spi / file: optionm'.dib
00:00:00 #8 [Debug] parseDibCode / output: Spi / file: am'.dib
00:00:00 #6 [Debug] parseDibCode / output: Spi / file: common.dib
00:00:00 #7 [Debug] parseDibCode / output: Spi / file: console.dib
00:00:00 #12 [Debug] writeDibCode / output: Spi / path: stream.dib
00:00:00 #13 [Debug] writeDibCode / output: Spi / path: rust.dib
00:00:00 #12 [Debug] writeDibCode / output: Spi / path: seq.dib
00:00:00 #12 [Debug] writeDibCode / output: Spi / path: util.dib
00:00:00 #15 [Debug] parseDibCode / output: Spi / file: stream.dib
00:00:00 #16 [Debug] parseDibCode / output: Spi / file: rust.dib
00:00:00 #18 [Debug] parseDibCode / output: Spi / file: util.dib
00:00:00 #17 [Debug] parseDibCode / output: Spi / file: seq.dib
00:00:00 #14 [Debug] writeDibCode / output: Spi / path: physics.dib
00:00:00 #19 [Debug] parseDibCode / output: Spi / file: physics.dib
In [ ]:
{ . "$ScriptDir/../apps/chat/build.ps1" } | Invoke-Block
Finished release [optimized] target(s) in 0.53s ## 7 Finished release [optimized] target(s) in 18.35s Running `/mnt/c/home/git/polyglot/target/release/chat_contract_tests` new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5296359918864, }, transaction: ExecutionOutcome { transaction_hash: 3DdVNjBrsLDvu3Sbsbqa5UgMipmjyzfVgxk9i7g8gGWq, block_hash: 5246NQtsPsR31soKzuBaH7ftk2jTbvpSSfaNCzed2rEY, logs: [], receipt_ids: [ 3FyuLiMSN2DN6H9i5GpxRUB1sH2bTYgaq1eRJuKABupG, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: NearToken { inner: 242792770780200000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessReceiptId(3FyuLiMSN2DN6H9i5GpxRUB1sH2bTYgaq1eRJuKABupG), }, receipts: [ ExecutionOutcome { transaction_hash: 3FyuLiMSN2DN6H9i5GpxRUB1sH2bTYgaq1eRJuKABupG, block_hash: 5246NQtsPsR31soKzuBaH7ftk2jTbvpSSfaNCzed2rEY, logs: [], receipt_ids: [ 9D5uupyPthmjfb35s4Qo9MzHDbQc8crXKVGyQqvStrQR, ], gas_burnt: NearGas { inner: 2645249648562, }, tokens_burnt: NearToken { inner: 264524964856200000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 9D5uupyPthmjfb35s4Qo9MzHDbQc8crXKVGyQqvStrQR, block_hash: 5cKVH7fjE4iS7aBhUEpVvkLYpJQXfvo8Tv8JGBvncgtJ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003537968425801152 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.001767026765239416 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5293066787350, }, transaction: ExecutionOutcome { transaction_hash: 7YDwv9U2xV1P5MShNg2matPuncGCM99hP8i2schHggZt, block_hash: 2soWTfmfZbSbqDd1RmQyxGYi9Zq7pbSod7n4MnmeDDri, logs: [], receipt_ids: [ 4iB59a9p6h7PC2Kvo2XRXDKfsEvxfLCezwRtipfADBUa, ], gas_burnt: NearGas { inner: 2427972426482, }, tokens_burnt: NearToken { inner: 242797242648200000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessReceiptId(4iB59a9p6h7PC2Kvo2XRXDKfsEvxfLCezwRtipfADBUa), }, receipts: [ ExecutionOutcome { transaction_hash: 4iB59a9p6h7PC2Kvo2XRXDKfsEvxfLCezwRtipfADBUa, block_hash: 2soWTfmfZbSbqDd1RmQyxGYi9Zq7pbSod7n4MnmeDDri, logs: [ "claim_alias / alias: \"\" / account_id: AccountId(\n \"dev-20231108052417-96035565183642\",\n) / timestamp: 1699421059790962079", ], receipt_ids: [ 97rvMxHT13RsW9STpLgbWRQNTz3AueLxbZ1eUpFPSLU, ], gas_burnt: NearGas { inner: 2641911798368, }, tokens_burnt: NearToken { inner: 264191179836800000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), }, ExecutionOutcome { transaction_hash: 97rvMxHT13RsW9STpLgbWRQNTz3AueLxbZ1eUpFPSLU, block_hash: 3FjmGv9RCcRVDCqtAeLg6pcKXfJY9ytKivbnEVDVPosf, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ], status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), } total_gas_burnt_usd: 0.0035357686139497998 outcome (success: true): outcome_gas_burnt_usd: 0.001621885580889976 outcome_tokens_burnt_usd: 0.0 outcome (success: false): outcome_gas_burnt_usd: 0.001764797081309824 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 dev_create_account(account1): Account { id: AccountId( "dev-20231108052420-99573281466575", ), } generate_cid_borsh(account1): ViewResultDetails { result: [ 59, 0, 0, 0, 98, 97, 102, 107, 114, 101, 105, 104, 100, 119, 100, 99, 101, 102, 103, 104, 52, 100, 113, 107, 106, 118, 54, 55, 117, 122, 99, 109, 119, 55, 111, 106, 101, 101, 54, 120, 101, 100, 122, 100, 101, 116, 111, 106, 117, 122, 106, 101, 118, 116, 101, 110, 120, 113, 117, 118, 121, 107, 117, ], logs: [], } claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5920396991251, }, transaction: ExecutionOutcome { transaction_hash: HAuei6dYDWGPHncpCrtUnrT1dP6uyZy6EqW4Ku4kdT96, block_hash: J4gzinRK1QNMtNQrM63JcQCLgDdZ93yb9MACdBHY2J9X, logs: [], receipt_ids: [ FpuK4QGAeei3LGG6ethSTDv1nmr4EbCAuW73fVn6sx8B, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessReceiptId(FpuK4QGAeei3LGG6ethSTDv1nmr4EbCAuW73fVn6sx8B), }, receipts: [ ExecutionOutcome { transaction_hash: FpuK4QGAeei3LGG6ethSTDv1nmr4EbCAuW73fVn6sx8B, block_hash: 7BGDJGteqpMKUmnQTK5gBemptuRfmQZgKJ58qLoXbiH5, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231108052420-99573281466575\",\n) / timestamp: 1699421062018391312", ], receipt_ids: [ FvHEpyMmAjPS3KQnEP8KDYu7vaA1npQhrDjVV6u2hkgS, ], gas_burnt: NearGas { inner: 3269228586665, }, tokens_burnt: NearToken { inner: 326922858666500000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: FvHEpyMmAjPS3KQnEP8KDYu7vaA1npQhrDjVV6u2hkgS, block_hash: HGtNKS2BH2aSAUrxhs8tvjQmBNjybnjU11ZvXWoGQ7Fg, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003954825190155668 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00218384469589222 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5562281523010, }, transaction: ExecutionOutcome { transaction_hash: 2J1LrsCuf9mscT9AKwNWoYTcZUQwp7nKGFJASKDPqZJP, block_hash: 4htrXhVGYAcsr9qq7RQ9dQoM2WizWLaPy793FEaxsQ5v, logs: [], receipt_ids: [ 4EnG37x85LJmV8THBgbxPvuTpqZ5LSoKgerEMDhQEKdV, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessReceiptId(4EnG37x85LJmV8THBgbxPvuTpqZ5LSoKgerEMDhQEKdV), }, receipts: [ ExecutionOutcome { transaction_hash: 4EnG37x85LJmV8THBgbxPvuTpqZ5LSoKgerEMDhQEKdV, block_hash: BmgMtP63yBXeSnBozjhewCFRe5H5Xo1AqZC47Nihxhxc, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231108052420-99573281466575\",\n) / timestamp: 1699421063031437137", "Alias already claimed", ], receipt_ids: [ 81HmXfcJRRD4ocBDyZFKTK9kV1Rqbuy94WCkG9F7i8FS, ], gas_burnt: NearGas { inner: 2911113118424, }, tokens_burnt: NearToken { inner: 291111311842400000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 81HmXfcJRRD4ocBDyZFKTK9kV1Rqbuy94WCkG9F7i8FS, block_hash: 5gyX8YtBmGniPcXiEFQgGtfWHqfx4yMxWhVpgCuhTuqA, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0037156040573706798 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0019446235631072318 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1699421062018391312, 0, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231108052420-99573281466575", ): ( 1699421062018391312, 0, ), }, ) dev_create_account(account2): Account { id: AccountId( "dev-20231108052423-48198360562102", ), } claim_alias(alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6028408726807, }, transaction: ExecutionOutcome { transaction_hash: H8zAAXoLWch73CN43xR2hdDHBKpEh3sGbDU2SKZ8zZ6k, block_hash: 3o4Xwsw2m94U4PeM8gFVCDgPzmbtvvi1WrNkSLnxykvF, logs: [], receipt_ids: [ 9at3UjFT6zjJSw3ntAHLKFFPKNACCytex3h5DLGZmqE, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052423-48198360562102", ), status: SuccessReceiptId(9at3UjFT6zjJSw3ntAHLKFFPKNACCytex3h5DLGZmqE), }, receipts: [ ExecutionOutcome { transaction_hash: 9at3UjFT6zjJSw3ntAHLKFFPKNACCytex3h5DLGZmqE, block_hash: 976hSh2qUGF7jtimREmjnGuKBrGuT9pdFFWWjPtyYRuM, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20231108052423-48198360562102\",\n) / timestamp: 1699421065059284754", ], receipt_ids: [ 7xo7jQ8JwzzAE1NVheNX1SJhgTHpiMSmJkouBU45vWAA, ], gas_burnt: NearGas { inner: 3377240322221, }, tokens_burnt: NearToken { inner: 337724032222100000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 7xo7jQ8JwzzAE1NVheNX1SJhgTHpiMSmJkouBU45vWAA, block_hash: 8EAjMNmsMygYwp4mPm6ab5x4wMrw3XYvbTpTTpTXZH2h, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052423-48198360562102", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004026977029507076 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0022559965352436278 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias2", ( 1699421065059284754, 0, ), ), ) get_alias_map_borsh(alias2): Some( { AccountId( "dev-20231108052423-48198360562102", ): ( 1699421065059284754, 0, ), }, ) claim_alias(account2, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6092139419650, }, transaction: ExecutionOutcome { transaction_hash: 3iQkZMFrT2a4rLEDdcu43oAMoHqCuWpDT764uzzHhQcP, block_hash: 4dch5MzxhCoYDEJodNNZqPMzuxHBXCqWfxjzQCJHGsEP, logs: [], receipt_ids: [ 9JQqFevicuv9FD892uSnZK3rQFjeJARskSPR29Gpxm8H, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052423-48198360562102", ), status: SuccessReceiptId(9JQqFevicuv9FD892uSnZK3rQFjeJARskSPR29Gpxm8H), }, receipts: [ ExecutionOutcome { transaction_hash: 9JQqFevicuv9FD892uSnZK3rQFjeJARskSPR29Gpxm8H, block_hash: HpNVFdUbYHZrpMWFnDYv1xWxPgizzJt2usfP89Fz1Bqt, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231108052423-48198360562102\",\n) / timestamp: 1699421066779586587", ], receipt_ids: [ CfDnHdDTGmzxpmBS2yRPAfvv3ZhzEA7n3D3vbQDA1mDK, ], gas_burnt: NearGas { inner: 3440971015064, }, tokens_burnt: NearToken { inner: 344097101506400000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: CfDnHdDTGmzxpmBS2yRPAfvv3ZhzEA7n3D3vbQDA1mDK, block_hash: 45PLXsw2JbEyu7H63KjNV7tHz3oYgZQ7okgVpTjU9PGN, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052423-48198360562102", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0040695491323262 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002298568638062752 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias1", ( 1699421066779586587, 1, ), ), ) get_alias_map(account2, alias1): Some( { AccountId( "dev-20231108052420-99573281466575", ): ( 1699421062018391312, 0, ), AccountId( "dev-20231108052423-48198360562102", ): ( 1699421066779586587, 1, ), }, ) get_alias_map(account2, alias2): Some( {}, ) claim_alias(account1, alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6087908808298, }, transaction: ExecutionOutcome { transaction_hash: EBWYZnnTtPJxUFGo2hb3Cgo57SfaoAgnNBWxcVRLFMmA, block_hash: 7c5myDD4H2kePrtFf8wLSVGSigpFSJJfcSwNjacHA5M3, logs: [], receipt_ids: [ 5P5mZW7SyRE9Qr5xBoanFk9cQdtYsHTPyzwV51NUjQoh, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessReceiptId(5P5mZW7SyRE9Qr5xBoanFk9cQdtYsHTPyzwV51NUjQoh), }, receipts: [ ExecutionOutcome { transaction_hash: 5P5mZW7SyRE9Qr5xBoanFk9cQdtYsHTPyzwV51NUjQoh, block_hash: HDLnGYdcBPxg1fSCwqoZqbgVyoWJzU63Km6NMeXzGnNc, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20231108052420-99573281466575\",\n) / timestamp: 1699421067791217079", ], receipt_ids: [ 9zNvbYwzZrRZg4YYrxY3yLwwvHqGpW7yjHzGmv9GFSYS, ], gas_burnt: NearGas { inner: 3436740403712, }, tokens_burnt: NearToken { inner: 343674040371200000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 9zNvbYwzZrRZg4YYrxY3yLwwvHqGpW7yjHzGmv9GFSYS, block_hash: H2EgBFG4ekaxHwUN5TyhecJgUgmLNuuDAHzG31e6s8Hf, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004066723083943064 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002295742589679616 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias2", ( 1699421067791217079, 0, ), ), ) get_alias_map(account1, alias2): Some( { AccountId( "dev-20231108052420-99573281466575", ): ( 1699421067791217079, 0, ), }, ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231108052423-48198360562102", ): ( 1699421066779586587, 1, ), }, ) claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6092139419650, }, transaction: ExecutionOutcome { transaction_hash: BeJWeifuqVWkycyhCxu8KSAsSoDJbgVA1bHiaptKcgUa, block_hash: 6pSfgYYpwWBWwYE3CypayWDZ4jrKZSmafMYSR7kwTQUu, logs: [], receipt_ids: [ 9w5pR7qR5iiUCvJuQ6TGvdCLA9yT6xitZ7qCNyyPwu4E, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessReceiptId(9w5pR7qR5iiUCvJuQ6TGvdCLA9yT6xitZ7qCNyyPwu4E), }, receipts: [ ExecutionOutcome { transaction_hash: 9w5pR7qR5iiUCvJuQ6TGvdCLA9yT6xitZ7qCNyyPwu4E, block_hash: 8Dem6dXsLgdz92cjjFMDtfyAmPd52mV5cnbcSy29thCb, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231108052420-99573281466575\",\n) / timestamp: 1699421068802358913", ], receipt_ids: [ 9ip1L5uZXNPgfjwUyWjRTRmxniaRrzoPCaTsq7mYZ8PF, ], gas_burnt: NearGas { inner: 3440971015064, }, tokens_burnt: NearToken { inner: 344097101506400000000, }, executor_id: AccountId( "dev-20231108052417-96035565183642", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 9ip1L5uZXNPgfjwUyWjRTRmxniaRrzoPCaTsq7mYZ8PF, block_hash: CRXsEEL5GsemFeGxBxHmdDHuRS7Ve59HkE5ZSVAAirrR, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052420-99573281466575", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0040695491323262 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002298568638062752 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1699421068802358913, 1, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231108052420-99573281466575", ): ( 1699421068802358913, 1, ), AccountId( "dev-20231108052423-48198360562102", ): ( 1699421066779586587, 0, ), }, ) get_alias_map(account1, alias2): Some( {}, )
In [ ]:
{ . "$ScriptDir/../apps/dice/build.ps1" } | Invoke-Block
Complexidade: Simple, Duração: Short Complexidade: Simple, Duração: Short Complexidade: Simple, Duração: Medium Complexidade: Moderate, Duração: Medium Complexidade: Complex, Duração: Long Complexidade: Complex, Duração: Long [01:24:31 INF] EXPECTO? Running tests... <Expecto> [01:24:36 INF] EXPECTO! 7 tests run in 00:00:05.4680856 for FsCheck samples – 7 passed, 0 ignored, 0 failed, 0 errored. Success! <Expecto> 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60 00:00:00 #2 [Debug] executeAsync / options: { Command = "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805" WorkingDirectory = None CancellationToken = Some System.Threading.CancellationToken OnLine = Some <fun:main@450-1020> } 00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\dice 00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release 00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500 00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length: 00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0 00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805 00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 dice.dib"" WorkingDirectory = None CancellationToken = Some System.Threading.CancellationToken OnLine = None } 00:00:04 #11 [Verbose] > 00:00:04 #12 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:04 #14 [Verbose] > │ # dice (Polyglot) │ 00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:04 #16 [Verbose] > 00:00:04 #17 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:04 #18 [Verbose] > // // test 00:00:04 #19 [Verbose] > 00:00:04 #20 [Verbose] > open testing 00:00:07 #21 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4404-0416-0812e4190858\main.spi 00:00:09 #22 [Verbose] > 00:00:09 #23 [Verbose] > ╭─[ 5.75s - stdout ]───────────────────────────────────────────────────────────╮ 00:00:09 #24 [Verbose] > │ () │ 00:00:09 #25 [Verbose] > │ │ 00:00:09 #26 [Verbose] > │ │ 00:00:09 #27 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 #28 [Verbose] > 00:00:09 #29 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 #30 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 #31 [Verbose] > │ ## sixth_power_sequence │ 00:00:09 #32 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 #33 [Verbose] > 00:00:09 #34 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 #35 [Verbose] > inl sixth_power_sequence () = 00:00:09 #36 [Verbose] > stream.iterate ((*) 6) 1 00:00:10 #37 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4742-4223-497f49a97c22\main.spi 00:00:10 #38 [Verbose] > 00:00:10 #39 [Verbose] > ╭─[ 225.69ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:10 #40 [Verbose] > │ () │ 00:00:10 #41 [Verbose] > │ │ 00:00:10 #42 [Verbose] > │ │ 00:00:10 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 #44 [Verbose] > 00:00:10 #45 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 #46 [Verbose] > // // test 00:00:10 #47 [Verbose] > 00:00:10 #48 [Verbose] > sixth_power_sequence () 00:00:10 #49 [Verbose] > |> stream.take_while (fun _ i => i <= 7i32) 00:00:10 #50 [Verbose] > |> stream.to_list 00:00:10 #51 [Verbose] > |> _equal [[ 1i32; 6; 36; 216; 1296; 7776; 46656; 279936 ]] 00:00:10 #52 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4764-6442-6313eb565b86\main.spi 00:00:11 #53 [Verbose] > 00:00:11 #54 [Verbose] > ╭─[ 1.46s - stdout ]───────────────────────────────────────────────────────────╮ 00:00:11 #55 [Verbose] > │ type UH0 = │ 00:00:11 #56 [Verbose] > │ | UH0_0 of int32 * UH0 │ 00:00:11 #57 [Verbose] > │ | UH0_1 │ 00:00:11 #58 [Verbose] > │ let rec method0 () : unit = │ 00:00:11 #59 [Verbose] > │ let v63 : UH0 = UH0_1 │ 00:00:11 #60 [Verbose] > │ let v64 : UH0 = UH0_0(279936, v63) │ 00:00:11 #61 [Verbose] > │ let v65 : UH0 = UH0_0(46656, v64) │ 00:00:11 #62 [Verbose] > │ let v66 : UH0 = UH0_0(7776, v65) │ 00:00:11 #63 [Verbose] > │ let v67 : UH0 = UH0_0(1296, v66) │ 00:00:11 #64 [Verbose] > │ let v68 : UH0 = UH0_0(216, v67) │ 00:00:11 #65 [Verbose] > │ let v69 : UH0 = UH0_0(36, v68) │ 00:00:11 #66 [Verbose] > │ let v70 : UH0 = UH0_0(6, v69) │ 00:00:11 #67 [Verbose] > │ let v71 : UH0 = UH0_0(1, v70) │ 00:00:11 #68 [Verbose] > │ let v72 : UH0 = UH0_1 │ 00:00:11 #69 [Verbose] > │ let v73 : UH0 = UH0_0(279936, v72) │ 00:00:11 #70 [Verbose] > │ let v74 : UH0 = UH0_0(46656, v73) │ 00:00:11 #71 [Verbose] > │ let v75 : UH0 = UH0_0(7776, v74) │ 00:00:11 #72 [Verbose] > │ let v76 : UH0 = UH0_0(1296, v75) │ 00:00:11 #73 [Verbose] > │ let v77 : UH0 = UH0_0(216, v76) │ 00:00:11 #74 [Verbose] > │ let v78 : UH0 = UH0_0(36, v77) │ 00:00:11 #75 [Verbose] > │ let v79 : UH0 = UH0_0(6, v78) │ 00:00:11 #76 [Verbose] > │ let v80 : UH0 = UH0_0(1, v79) │ 00:00:11 #77 [Verbose] > │ let v81 : string = $"_equal / actual: %A{v71} / expected: %A{v80}" │ 00:00:11 #78 [Verbose] > │ () │ 00:00:11 #79 [Verbose] > │ method0() │ 00:00:11 #80 [Verbose] > │ │ 00:00:11 #81 [Verbose] > │ │ 00:00:11 #82 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 #83 [Verbose] > 00:00:11 #84 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 #85 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 #86 [Verbose] > │ ## accumulate_dice_rolls │ 00:00:11 #87 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 #88 [Verbose] > 00:00:11 #89 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 #90 [Verbose] > inl accumulate_dice_rolls 00:00:11 #91 [Verbose] > (log : option (string -> ())) 00:00:11 #92 [Verbose] > (rolls : list u8) 00:00:11 #93 [Verbose] > (power : i8) 00:00:11 #94 [Verbose] > acc 00:00:11 #95 [Verbose] > = 00:00:11 #96 [Verbose] > inl rec body acc power rolls = 00:00:11 #97 [Verbose] > match rolls with 00:00:11 #98 [Verbose] > | _ when power < 0 => 00:00:11 #99 [Verbose] > log |> optionm'.iter ((|>) $"$\"accumulate_dice_rolls / power: 00:00:11 #100 [Verbose] > {!power} / acc: {!acc}\"") 00:00:11 #101 [Verbose] > Some (acc + 1, rolls) 00:00:11 #102 [Verbose] > | [[]] => None 00:00:11 #103 [Verbose] > | roll :: rest when roll > 1 => 00:00:11 #104 [Verbose] > inl coeff = sixth_power_sequence () |> stream.item power 00:00:11 #105 [Verbose] > inl value = conv (roll - 1) * coeff 00:00:11 #106 [Verbose] > log |> optionm'.iter ((|>) $"$\"accumulate_dice_rolls / power: 00:00:11 #107 [Verbose] > {!power} / acc: {!acc} / roll: {!roll} / value: {!value}\"" 00:00:11 #108 [Verbose] > ) 00:00:11 #109 [Verbose] > loop (acc + value) (power - 1) rest 00:00:11 #110 [Verbose] > | roll :: rest => 00:00:11 #111 [Verbose] > log |> optionm'.iter ((|>) $"$\"accumulate_dice_rolls / power: 00:00:11 #112 [Verbose] > {!power} / acc: {!acc} / roll: {!roll}\"") 00:00:11 #113 [Verbose] > loop acc (power - 1) rest 00:00:11 #114 [Verbose] > and inl loop acc power rolls = 00:00:11 #115 [Verbose] > if var_is rolls |> not 00:00:11 #116 [Verbose] > then body acc power rolls 00:00:11 #117 [Verbose] > else 00:00:11 #118 [Verbose] > inl acc = dyn acc 00:00:11 #119 [Verbose] > join body acc power rolls 00:00:11 #120 [Verbose] > loop acc power rolls 00:00:11 #121 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4912-1228-1f70d5e63c6f\main.spi 00:00:11 #122 [Verbose] > 00:00:11 #123 [Verbose] > ╭─[ 194.64ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:11 #124 [Verbose] > │ () │ 00:00:11 #125 [Verbose] > │ │ 00:00:11 #126 [Verbose] > │ │ 00:00:11 #127 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 #128 [Verbose] > 00:00:11 #129 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 #130 [Verbose] > // // test 00:00:11 #131 [Verbose] > 00:00:11 #132 [Verbose] > accumulate_dice_rolls (Some console.write_line) [[ 6; 5; 4; 3; 2 ]] 0 1000i32 00:00:11 #133 [Verbose] > |> _equal (Some (1006, [[ 5; 4; 3; 2 ]])) 00:00:11 #134 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4931-3180-3b135ce99ccd\main.spi 00:00:12 #135 [Verbose] > 00:00:12 #136 [Verbose] > ╭─[ 619.55ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:12 #137 [Verbose] > │ type UH0 = │ 00:00:12 #138 [Verbose] > │ | UH0_0 of uint8 * UH0 │ 00:00:12 #139 [Verbose] > │ | UH0_1 │ 00:00:12 #140 [Verbose] > │ and [<Struct>] US0 = │ 00:00:12 #141 [Verbose] > │ | US0_0 │ 00:00:12 #142 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : UH0 │ 00:00:12 #143 [Verbose] > │ let rec method0 () : unit = │ 00:00:12 #144 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {0y} / acc: {1000} / │ 00:00:12 #145 [Verbose] > │ roll: {6uy} / value: {5}" │ 00:00:12 #146 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:12 #147 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {1005}" │ 00:00:12 #148 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:12 #149 [Verbose] > │ let v35 : UH0 = UH0_1 │ 00:00:12 #150 [Verbose] > │ let v36 : UH0 = UH0_0(2uy, v35) │ 00:00:12 #151 [Verbose] > │ let v37 : UH0 = UH0_0(3uy, v36) │ 00:00:12 #152 [Verbose] > │ let v38 : UH0 = UH0_0(4uy, v37) │ 00:00:12 #153 [Verbose] > │ let v39 : UH0 = UH0_0(5uy, v38) │ 00:00:12 #154 [Verbose] > │ let v40 : US0 = US0_1(1006, v39) │ 00:00:12 #155 [Verbose] > │ let v41 : UH0 = UH0_1 │ 00:00:12 #156 [Verbose] > │ let v42 : UH0 = UH0_0(2uy, v41) │ 00:00:12 #157 [Verbose] > │ let v43 : UH0 = UH0_0(3uy, v42) │ 00:00:12 #158 [Verbose] > │ let v44 : UH0 = UH0_0(4uy, v43) │ 00:00:12 #159 [Verbose] > │ let v45 : UH0 = UH0_0(5uy, v44) │ 00:00:12 #160 [Verbose] > │ let v46 : US0 = US0_1(1006, v45) │ 00:00:12 #161 [Verbose] > │ let v47 : string = $"_equal / actual: %A{v40} / expected: %A{v46}" │ 00:00:12 #162 [Verbose] > │ () │ 00:00:12 #163 [Verbose] > │ method0() │ 00:00:12 #164 [Verbose] > │ │ 00:00:12 #165 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 1000 / roll: 6 / value: 5 │ 00:00:12 #166 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 1005 │ 00:00:12 #167 [Verbose] > │ │ 00:00:12 #168 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 #169 [Verbose] > 00:00:12 #170 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 #171 [Verbose] > // // test 00:00:12 #172 [Verbose] > 00:00:12 #173 [Verbose] > accumulate_dice_rolls (Some console.write_line) [[ 6; 5; 4; 3; 2 ]] 1 1000i32 00:00:12 #174 [Verbose] > |> _equal (Some (1035, [[ 4; 3; 2 ]])) 00:00:12 #175 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-4995-9590-988a8a812a93\main.spi 00:00:12 #176 [Verbose] > 00:00:12 #177 [Verbose] > ╭─[ 344.76ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:12 #178 [Verbose] > │ type UH0 = │ 00:00:12 #179 [Verbose] > │ | UH0_0 of uint8 * UH0 │ 00:00:12 #180 [Verbose] > │ | UH0_1 │ 00:00:12 #181 [Verbose] > │ and [<Struct>] US0 = │ 00:00:12 #182 [Verbose] > │ | US0_0 │ 00:00:12 #183 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : UH0 │ 00:00:12 #184 [Verbose] > │ let rec method0 () : unit = │ 00:00:12 #185 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {1y} / acc: {1000} / │ 00:00:12 #186 [Verbose] > │ roll: {6uy} / value: {30}" │ 00:00:12 #187 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:12 #188 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {0y} / acc: {1030} / │ 00:00:12 #189 [Verbose] > │ roll: {5uy} / value: {4}" │ 00:00:12 #190 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:12 #191 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {1034}" │ 00:00:12 #192 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:12 #193 [Verbose] > │ let v28 : UH0 = UH0_1 │ 00:00:12 #194 [Verbose] > │ let v29 : UH0 = UH0_0(2uy, v28) │ 00:00:12 #195 [Verbose] > │ let v30 : UH0 = UH0_0(3uy, v29) │ 00:00:12 #196 [Verbose] > │ let v31 : UH0 = UH0_0(4uy, v30) │ 00:00:12 #197 [Verbose] > │ let v32 : US0 = US0_1(1035, v31) │ 00:00:12 #198 [Verbose] > │ let v33 : UH0 = UH0_1 │ 00:00:12 #199 [Verbose] > │ let v34 : UH0 = UH0_0(2uy, v33) │ 00:00:12 #200 [Verbose] > │ let v35 : UH0 = UH0_0(3uy, v34) │ 00:00:12 #201 [Verbose] > │ let v36 : UH0 = UH0_0(4uy, v35) │ 00:00:12 #202 [Verbose] > │ let v37 : US0 = US0_1(1035, v36) │ 00:00:12 #203 [Verbose] > │ let v38 : string = $"_equal / actual: %A{v32} / expected: %A{v37}" │ 00:00:12 #204 [Verbose] > │ () │ 00:00:12 #205 [Verbose] > │ method0() │ 00:00:12 #206 [Verbose] > │ │ 00:00:12 #207 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 1000 / roll: 6 / value: 30 │ 00:00:12 #208 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 1030 / roll: 5 / value: 4 │ 00:00:12 #209 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 1034 │ 00:00:12 #210 [Verbose] > │ │ 00:00:12 #211 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 #212 [Verbose] > 00:00:12 #213 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 #214 [Verbose] > // // test 00:00:12 #215 [Verbose] > 00:00:12 #216 [Verbose] > accumulate_dice_rolls (Some console.write_line) [[ 6; 5; 4; 3; 2 ]] 2 1000i32 00:00:12 #217 [Verbose] > |> _equal (Some (1208, [[ 3; 2 ]])) 00:00:12 #218 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5031-3186-386a787404e0\main.spi 00:00:13 #219 [Verbose] > 00:00:13 #220 [Verbose] > ╭─[ 261.71ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:13 #221 [Verbose] > │ type UH0 = │ 00:00:13 #222 [Verbose] > │ | UH0_0 of uint8 * UH0 │ 00:00:13 #223 [Verbose] > │ | UH0_1 │ 00:00:13 #224 [Verbose] > │ and [<Struct>] US0 = │ 00:00:13 #225 [Verbose] > │ | US0_0 │ 00:00:13 #226 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : UH0 │ 00:00:13 #227 [Verbose] > │ let rec method0 () : unit = │ 00:00:13 #228 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {2y} / acc: {1000} / │ 00:00:13 #229 [Verbose] > │ roll: {6uy} / value: {180}" │ 00:00:13 #230 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:13 #231 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {1y} / acc: {1180} / │ 00:00:13 #232 [Verbose] > │ roll: {5uy} / value: {24}" │ 00:00:13 #233 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:13 #234 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {0y} / acc: {1204} / │ 00:00:13 #235 [Verbose] > │ roll: {4uy} / value: {3}" │ 00:00:13 #236 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:13 #237 [Verbose] > │ let v3 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {1207}" │ 00:00:13 #238 [Verbose] > │ System.Console.WriteLine v3 │ 00:00:13 #239 [Verbose] > │ let v22 : UH0 = UH0_1 │ 00:00:13 #240 [Verbose] > │ let v23 : UH0 = UH0_0(2uy, v22) │ 00:00:13 #241 [Verbose] > │ let v24 : UH0 = UH0_0(3uy, v23) │ 00:00:13 #242 [Verbose] > │ let v25 : US0 = US0_1(1208, v24) │ 00:00:13 #243 [Verbose] > │ let v26 : UH0 = UH0_1 │ 00:00:13 #244 [Verbose] > │ let v27 : UH0 = UH0_0(2uy, v26) │ 00:00:13 #245 [Verbose] > │ let v28 : UH0 = UH0_0(3uy, v27) │ 00:00:13 #246 [Verbose] > │ let v29 : US0 = US0_1(1208, v28) │ 00:00:13 #247 [Verbose] > │ let v30 : string = $"_equal / actual: %A{v25} / expected: %A{v29}" │ 00:00:13 #248 [Verbose] > │ () │ 00:00:13 #249 [Verbose] > │ method0() │ 00:00:13 #250 [Verbose] > │ │ 00:00:13 #251 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 1000 / roll: 6 / value: 180 │ 00:00:13 #252 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 1180 / roll: 5 / value: 24 │ 00:00:13 #253 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 1204 / roll: 4 / value: 3 │ 00:00:13 #254 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 1207 │ 00:00:13 #255 [Verbose] > │ │ 00:00:13 #256 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 #257 [Verbose] > 00:00:13 #258 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:13 #259 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:13 #260 [Verbose] > │ ## roll_within_bounds │ 00:00:13 #261 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 #262 [Verbose] > 00:00:13 #263 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 #264 [Verbose] > inl roll_within_bounds (log : option (string -> ())) max rolls = 00:00:13 #265 [Verbose] > inl power = listm.length rolls - 1 00:00:13 #266 [Verbose] > match accumulate_dice_rolls log rolls power 0 with 00:00:13 #267 [Verbose] > | Some (result, _) when result >= 1 && result <= max => Some result 00:00:13 #268 [Verbose] > | _ => None 00:00:13 #269 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5059-5985-5f63e6365719\main.spi 00:00:13 #270 [Verbose] > 00:00:13 #271 [Verbose] > ╭─[ 154.73ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:13 #272 [Verbose] > │ () │ 00:00:13 #273 [Verbose] > │ │ 00:00:13 #274 [Verbose] > │ │ 00:00:13 #275 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 #276 [Verbose] > 00:00:13 #277 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 #278 [Verbose] > // // test 00:00:13 #279 [Verbose] > 00:00:13 #280 [Verbose] > roll_within_bounds (Some console.write_line) 2000i32 [[ 1; 5; 4; 4; 5 ]] 00:00:13 #281 [Verbose] > |> _equal (Some 995) 00:00:13 #282 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5075-7550-72898679597f\main.spi 00:00:13 #283 [Verbose] > 00:00:13 #284 [Verbose] > ╭─[ 247.84ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:13 #285 [Verbose] > │ type [<Struct>] US0 = │ 00:00:13 #286 [Verbose] > │ | US0_0 │ 00:00:13 #287 [Verbose] > │ | US0_1 of f1_0 : int32 │ 00:00:13 #288 [Verbose] > │ let rec method0 () : unit = │ 00:00:13 #289 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {4y} / acc: {0} / │ 00:00:13 #290 [Verbose] > │ roll: {1uy}" │ 00:00:13 #291 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:13 #292 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {3y} / acc: {0} / │ 00:00:13 #293 [Verbose] > │ roll: {5uy} / value: {864}" │ 00:00:13 #294 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:13 #295 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {2y} / acc: {864} / │ 00:00:13 #296 [Verbose] > │ roll: {4uy} / value: {108}" │ 00:00:13 #297 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:13 #298 [Verbose] > │ let v3 : string = $"accumulate_dice_rolls / power: {1y} / acc: {972} / │ 00:00:13 #299 [Verbose] > │ roll: {4uy} / value: {18}" │ 00:00:13 #300 [Verbose] > │ System.Console.WriteLine v3 │ 00:00:13 #301 [Verbose] > │ let v4 : string = $"accumulate_dice_rolls / power: {0y} / acc: {990} / │ 00:00:13 #302 [Verbose] > │ roll: {5uy} / value: {4}" │ 00:00:13 #303 [Verbose] > │ System.Console.WriteLine v4 │ 00:00:13 #304 [Verbose] > │ let v5 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {994}" │ 00:00:13 #305 [Verbose] > │ System.Console.WriteLine v5 │ 00:00:13 #306 [Verbose] > │ let v9 : US0 = US0_1(995) │ 00:00:13 #307 [Verbose] > │ let v10 : US0 = US0_1(995) │ 00:00:13 #308 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}" │ 00:00:13 #309 [Verbose] > │ () │ 00:00:13 #310 [Verbose] > │ method0() │ 00:00:13 #311 [Verbose] > │ │ 00:00:13 #312 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 1 │ 00:00:13 #313 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 0 / roll: 5 / value: 864 │ 00:00:13 #314 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 864 / roll: 4 / value: 108 │ 00:00:13 #315 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 972 / roll: 4 / value: 18 │ 00:00:13 #316 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 990 / roll: 5 / value: 4 │ 00:00:13 #317 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 994 │ 00:00:13 #318 [Verbose] > │ │ 00:00:13 #319 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 #320 [Verbose] > 00:00:13 #321 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 #322 [Verbose] > // // test 00:00:13 #323 [Verbose] > 00:00:13 #324 [Verbose] > roll_within_bounds (Some console.write_line) 2000i32 [[ 2; 2; 6; 4; 5 ]] 00:00:13 #325 [Verbose] > |> _equal (Some 1715) 00:00:13 #326 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5102-0220-0d46617b1707\main.spi 00:00:13 #327 [Verbose] > 00:00:13 #328 [Verbose] > ╭─[ 254.91ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:13 #329 [Verbose] > │ type [<Struct>] US0 = │ 00:00:13 #330 [Verbose] > │ | US0_0 │ 00:00:13 #331 [Verbose] > │ | US0_1 of f1_0 : int32 │ 00:00:13 #332 [Verbose] > │ let rec method0 () : unit = │ 00:00:13 #333 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {4y} / acc: {0} / │ 00:00:13 #334 [Verbose] > │ roll: {2uy} / value: {1296}" │ 00:00:13 #335 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:13 #336 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {3y} / acc: {1296} / │ 00:00:13 #337 [Verbose] > │ roll: {2uy} / value: {216}" │ 00:00:13 #338 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:13 #339 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {2y} / acc: {1512} / │ 00:00:13 #340 [Verbose] > │ roll: {6uy} / value: {180}" │ 00:00:13 #341 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:13 #342 [Verbose] > │ let v3 : string = $"accumulate_dice_rolls / power: {1y} / acc: {1692} / │ 00:00:13 #343 [Verbose] > │ roll: {4uy} / value: {18}" │ 00:00:13 #344 [Verbose] > │ System.Console.WriteLine v3 │ 00:00:13 #345 [Verbose] > │ let v4 : string = $"accumulate_dice_rolls / power: {0y} / acc: {1710} / │ 00:00:13 #346 [Verbose] > │ roll: {5uy} / value: {4}" │ 00:00:13 #347 [Verbose] > │ System.Console.WriteLine v4 │ 00:00:13 #348 [Verbose] > │ let v5 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {1714}" │ 00:00:13 #349 [Verbose] > │ System.Console.WriteLine v5 │ 00:00:13 #350 [Verbose] > │ let v9 : US0 = US0_1(1715) │ 00:00:13 #351 [Verbose] > │ let v10 : US0 = US0_1(1715) │ 00:00:13 #352 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}" │ 00:00:13 #353 [Verbose] > │ () │ 00:00:13 #354 [Verbose] > │ method0() │ 00:00:13 #355 [Verbose] > │ │ 00:00:13 #356 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │ 00:00:13 #357 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 1296 / roll: 2 / value: 216 │ 00:00:13 #358 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 1512 / roll: 6 / value: 180 │ 00:00:13 #359 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 1692 / roll: 4 / value: 18 │ 00:00:13 #360 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 1710 / roll: 5 / value: 4 │ 00:00:13 #361 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 1714 │ 00:00:13 #362 [Verbose] > │ │ 00:00:13 #363 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 #364 [Verbose] > 00:00:13 #365 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 #366 [Verbose] > // // test 00:00:13 #367 [Verbose] > 00:00:13 #368 [Verbose] > roll_within_bounds (Some console.write_line) 2000i32 [[ 4; 1; 1; 2; 3 ]] 00:00:13 #369 [Verbose] > |> _equal None 00:00:13 #370 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5130-3085-331f49390f4f\main.spi 00:00:14 #371 [Verbose] > 00:00:14 #372 [Verbose] > ╭─[ 281.01ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:14 #373 [Verbose] > │ type [<Struct>] US0 = │ 00:00:14 #374 [Verbose] > │ | US0_0 │ 00:00:14 #375 [Verbose] > │ | US0_1 of f1_0 : int32 │ 00:00:14 #376 [Verbose] > │ let rec method0 () : unit = │ 00:00:14 #377 [Verbose] > │ let v0 : string = $"accumulate_dice_rolls / power: {4y} / acc: {0} / │ 00:00:14 #378 [Verbose] > │ roll: {4uy} / value: {3888}" │ 00:00:14 #379 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:14 #380 [Verbose] > │ let v1 : string = $"accumulate_dice_rolls / power: {3y} / acc: {3888} / │ 00:00:14 #381 [Verbose] > │ roll: {1uy}" │ 00:00:14 #382 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:14 #383 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {2y} / acc: {3888} / │ 00:00:14 #384 [Verbose] > │ roll: {1uy}" │ 00:00:14 #385 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:14 #386 [Verbose] > │ let v3 : string = $"accumulate_dice_rolls / power: {1y} / acc: {3888} / │ 00:00:14 #387 [Verbose] > │ roll: {2uy} / value: {6}" │ 00:00:14 #388 [Verbose] > │ System.Console.WriteLine v3 │ 00:00:14 #389 [Verbose] > │ let v4 : string = $"accumulate_dice_rolls / power: {0y} / acc: {3894} / │ 00:00:14 #390 [Verbose] > │ roll: {3uy} / value: {2}" │ 00:00:14 #391 [Verbose] > │ System.Console.WriteLine v4 │ 00:00:14 #392 [Verbose] > │ let v5 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {3896}" │ 00:00:14 #393 [Verbose] > │ System.Console.WriteLine v5 │ 00:00:14 #394 [Verbose] > │ let v9 : US0 = US0_0 │ 00:00:14 #395 [Verbose] > │ let v10 : US0 = US0_0 │ 00:00:14 #396 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}" │ 00:00:14 #397 [Verbose] > │ () │ 00:00:14 #398 [Verbose] > │ method0() │ 00:00:14 #399 [Verbose] > │ │ 00:00:14 #400 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 4 / value: 3888 │ 00:00:14 #401 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 3888 / roll: 1 │ 00:00:14 #402 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 3888 / roll: 1 │ 00:00:14 #403 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 3888 / roll: 2 / value: 6 │ 00:00:14 #404 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 3894 / roll: 3 / value: 2 │ 00:00:14 #405 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 3896 │ 00:00:14 #406 [Verbose] > │ │ 00:00:14 #407 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #408 [Verbose] > 00:00:14 #409 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:14 #410 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:14 #411 [Verbose] > │ ## calculate_dice_count │ 00:00:14 #412 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #413 [Verbose] > 00:00:14 #414 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:14 #415 [Verbose] > inl calculate_dice_count (log : option (string -> ())) max = 00:00:14 #416 [Verbose] > inl rec body n p = 00:00:14 #417 [Verbose] > inl return () = 00:00:14 #418 [Verbose] > log |> optionm'.iter ((|>) $"$\"calculate_dice_count / max: {!max} 00:00:14 #419 [Verbose] > n: {!n} / p: {!p}\"") 00:00:14 #420 [Verbose] > n 00:00:14 #421 [Verbose] > 00:00:14 #422 [Verbose] > if p < max then 00:00:14 #423 [Verbose] > inl p' = p * 6 00:00:14 #424 [Verbose] > if p' > p 00:00:14 #425 [Verbose] > then loop (n + 1) p' 00:00:14 #426 [Verbose] > else return () 00:00:14 #427 [Verbose] > else return () 00:00:14 #428 [Verbose] > 00:00:14 #429 [Verbose] > and inl loop n p = 00:00:14 #430 [Verbose] > if var_is max |> not 00:00:14 #431 [Verbose] > then body n p 00:00:14 #432 [Verbose] > else 00:00:14 #433 [Verbose] > inl n = dyn n 00:00:14 #434 [Verbose] > inl p = dyn p 00:00:14 #435 [Verbose] > join body n p 00:00:14 #436 [Verbose] > if max = 1 00:00:14 #437 [Verbose] > then 1 00:00:14 #438 [Verbose] > else loop 0 1 00:00:14 #439 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5160-6072-605f5136f1fa\main.spi 00:00:14 #440 [Verbose] > 00:00:14 #441 [Verbose] > ╭─[ 185.68ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:14 #442 [Verbose] > │ () │ 00:00:14 #443 [Verbose] > │ │ 00:00:14 #444 [Verbose] > │ │ 00:00:14 #445 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #446 [Verbose] > 00:00:14 #447 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:14 #448 [Verbose] > // // test 00:00:14 #449 [Verbose] > 00:00:14 #450 [Verbose] > calculate_dice_count (Some console.write_line) 36i32 00:00:14 #451 [Verbose] > |> _equal 2i32 00:00:14 #452 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5179-7944-700649feca4c\main.spi 00:00:14 #453 [Verbose] > 00:00:14 #454 [Verbose] > ╭─[ 182.55ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:14 #455 [Verbose] > │ let rec method0 () : unit = │ 00:00:14 #456 [Verbose] > │ let v0 : string = $"calculate_dice_count / max: {36} / n: {2} / p: {36}" │ 00:00:14 #457 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:14 #458 [Verbose] > │ let v1 : string = $"_equal / actual: %A{2} / expected: %A{2}" │ 00:00:14 #459 [Verbose] > │ () │ 00:00:14 #460 [Verbose] > │ method0() │ 00:00:14 #461 [Verbose] > │ │ 00:00:14 #462 [Verbose] > │ calculate_dice_count / max: 36 / n: 2 / p: 36 │ 00:00:14 #463 [Verbose] > │ │ 00:00:14 #464 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #465 [Verbose] > 00:00:14 #466 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:14 #467 [Verbose] > // // test 00:00:14 #468 [Verbose] > 00:00:14 #469 [Verbose] > calculate_dice_count (Some console.write_line) 7777i32 00:00:14 #470 [Verbose] > |> _equal 6i32 00:00:14 #471 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5198-9815-916afe4198c0\main.spi 00:00:14 #472 [Verbose] > 00:00:14 #473 [Verbose] > ╭─[ 200.39ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:14 #474 [Verbose] > │ let rec method0 () : unit = │ 00:00:14 #475 [Verbose] > │ let v0 : string = $"calculate_dice_count / max: {7777} / n: {6} / p: │ 00:00:14 #476 [Verbose] > │ {46656}" │ 00:00:14 #477 [Verbose] > │ System.Console.WriteLine v0 │ 00:00:14 #478 [Verbose] > │ let v1 : string = $"_equal / actual: %A{6} / expected: %A{6}" │ 00:00:14 #479 [Verbose] > │ () │ 00:00:14 #480 [Verbose] > │ method0() │ 00:00:14 #481 [Verbose] > │ │ 00:00:14 #482 [Verbose] > │ calculate_dice_count / max: 7777 / n: 6 / p: 46656 │ 00:00:14 #483 [Verbose] > │ │ 00:00:14 #484 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #485 [Verbose] > 00:00:14 #486 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:14 #487 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:14 #488 [Verbose] > │ ## roll_dice │ 00:00:14 #489 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #490 [Verbose] > 00:00:14 #491 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:14 #492 [Verbose] > inl roll_dice () : u8 = 00:00:14 #493 [Verbose] > run_target function 00:00:14 #494 [Verbose] > | Fsharp => fun () => $"System.Random().Next (1, 7) |> uint8" 00:00:14 #495 [Verbose] > | Rust (Native) => fun () => rust.emit_expr () 00:00:14 #496 [Verbose] > "rand::Rng::gen_range(&mut rand::thread_rng(), 1..7)" 00:00:14 #497 [Verbose] > | Rust (Wasm) => fun () => rust.emit_expr () "1" 00:00:14 #498 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5219-1922-143db4d0f5e0\main.spi 00:00:14 #499 [Verbose] > 00:00:14 #500 [Verbose] > ╭─[ 267.35ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:14 #501 [Verbose] > │ () │ 00:00:14 #502 [Verbose] > │ │ 00:00:14 #503 [Verbose] > │ │ 00:00:14 #504 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #505 [Verbose] > 00:00:14 #506 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:14 #507 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:14 #508 [Verbose] > │ ## rotate_number │ 00:00:14 #509 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:14 #510 [Verbose] > 00:00:14 #511 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:14 #512 [Verbose] > inl rotate_number forall t {number}. (max : i64) (n : t) : t = 00:00:14 #513 [Verbose] > (conv n - 1 + max) % max + 1 |> conv 00:00:15 #514 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5246-4657-46a3820f94c5\main.spi 00:00:15 #515 [Verbose] > 00:00:15 #516 [Verbose] > ╭─[ 178.82ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:15 #517 [Verbose] > │ () │ 00:00:15 #518 [Verbose] > │ │ 00:00:15 #519 [Verbose] > │ │ 00:00:15 #520 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #521 [Verbose] > 00:00:15 #522 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 #523 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 #524 [Verbose] > │ ## rotate_numbers │ 00:00:15 #525 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #526 [Verbose] > 00:00:15 #527 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:15 #528 [Verbose] > inl rotate_numbers max items = 00:00:15 #529 [Verbose] > items |> stream.map (rotate_number max) 00:00:15 #530 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5264-6496-6e1a497033e7\main.spi 00:00:15 #531 [Verbose] > 00:00:15 #532 [Verbose] > ╭─[ 178.49ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:15 #533 [Verbose] > │ () │ 00:00:15 #534 [Verbose] > │ │ 00:00:15 #535 [Verbose] > │ │ 00:00:15 #536 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #537 [Verbose] > 00:00:15 #538 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:15 #539 [Verbose] > // // test 00:00:15 #540 [Verbose] > 00:00:15 #541 [Verbose] > listm'.init_series -1 14 1i32 00:00:15 #542 [Verbose] > |> stream.from_list 00:00:15 #543 [Verbose] > |> rotate_numbers 6 00:00:15 #544 [Verbose] > |> stream.to_list 00:00:15 #545 [Verbose] > |> _equal [[ 5; 6; 1; 2; 3; 4; 5; 6; 1; 2; 3; 4; 5; 6; 1; 2 ]] 00:00:15 #546 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5283-8339-82b4370151b0\main.spi 00:00:15 #547 [Verbose] > 00:00:15 #548 [Verbose] > ╭─[ 226.77ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:15 #549 [Verbose] > │ type UH0 = │ 00:00:15 #550 [Verbose] > │ | UH0_0 of int32 * UH0 │ 00:00:15 #551 [Verbose] > │ | UH0_1 │ 00:00:15 #552 [Verbose] > │ let rec method0 () : unit = │ 00:00:15 #553 [Verbose] > │ let v187 : UH0 = UH0_1 │ 00:00:15 #554 [Verbose] > │ let v188 : UH0 = UH0_0(2, v187) │ 00:00:15 #555 [Verbose] > │ let v189 : UH0 = UH0_0(1, v188) │ 00:00:15 #556 [Verbose] > │ let v190 : UH0 = UH0_0(6, v189) │ 00:00:15 #557 [Verbose] > │ let v191 : UH0 = UH0_0(5, v190) │ 00:00:15 #558 [Verbose] > │ let v192 : UH0 = UH0_0(4, v191) │ 00:00:15 #559 [Verbose] > │ let v193 : UH0 = UH0_0(3, v192) │ 00:00:15 #560 [Verbose] > │ let v194 : UH0 = UH0_0(2, v193) │ 00:00:15 #561 [Verbose] > │ let v195 : UH0 = UH0_0(1, v194) │ 00:00:15 #562 [Verbose] > │ let v196 : UH0 = UH0_0(6, v195) │ 00:00:15 #563 [Verbose] > │ let v197 : UH0 = UH0_0(5, v196) │ 00:00:15 #564 [Verbose] > │ let v198 : UH0 = UH0_0(4, v197) │ 00:00:15 #565 [Verbose] > │ let v199 : UH0 = UH0_0(3, v198) │ 00:00:15 #566 [Verbose] > │ let v200 : UH0 = UH0_0(2, v199) │ 00:00:15 #567 [Verbose] > │ let v201 : UH0 = UH0_0(1, v200) │ 00:00:15 #568 [Verbose] > │ let v202 : UH0 = UH0_0(6, v201) │ 00:00:15 #569 [Verbose] > │ let v203 : UH0 = UH0_0(5, v202) │ 00:00:15 #570 [Verbose] > │ let v204 : UH0 = UH0_1 │ 00:00:15 #571 [Verbose] > │ let v205 : UH0 = UH0_0(2, v204) │ 00:00:15 #572 [Verbose] > │ let v206 : UH0 = UH0_0(1, v205) │ 00:00:15 #573 [Verbose] > │ let v207 : UH0 = UH0_0(6, v206) │ 00:00:15 #574 [Verbose] > │ let v208 : UH0 = UH0_0(5, v207) │ 00:00:15 #575 [Verbose] > │ let v209 : UH0 = UH0_0(4, v208) │ 00:00:15 #576 [Verbose] > │ let v210 : UH0 = UH0_0(3, v209) │ 00:00:15 #577 [Verbose] > │ let v211 : UH0 = UH0_0(2, v210) │ 00:00:15 #578 [Verbose] > │ let v212 : UH0 = UH0_0(1, v211) │ 00:00:15 #579 [Verbose] > │ let v213 : UH0 = UH0_0(6, v212) │ 00:00:15 #580 [Verbose] > │ let v214 : UH0 = UH0_0(5, v213) │ 00:00:15 #581 [Verbose] > │ let v215 : UH0 = UH0_0(4, v214) │ 00:00:15 #582 [Verbose] > │ let v216 : UH0 = UH0_0(3, v215) │ 00:00:15 #583 [Verbose] > │ let v217 : UH0 = UH0_0(2, v216) │ 00:00:15 #584 [Verbose] > │ let v218 : UH0 = UH0_0(1, v217) │ 00:00:15 #585 [Verbose] > │ let v219 : UH0 = UH0_0(6, v218) │ 00:00:15 #586 [Verbose] > │ let v220 : UH0 = UH0_0(5, v219) │ 00:00:15 #587 [Verbose] > │ let v221 : string = $"_equal / actual: %A{v203} / expected: %A{v220}" │ 00:00:15 #588 [Verbose] > │ () │ 00:00:15 #589 [Verbose] > │ method0() │ 00:00:15 #590 [Verbose] > │ │ 00:00:15 #591 [Verbose] > │ │ 00:00:15 #592 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #593 [Verbose] > 00:00:15 #594 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 #595 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 #596 [Verbose] > │ ## create_sequential_roller │ 00:00:15 #597 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #598 [Verbose] > 00:00:15 #599 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:15 #600 [Verbose] > inl create_sequential_roller list = 00:00:15 #601 [Verbose] > inl s = list |> listm.rev |> listm.append list |> stream.from_list |> 00:00:15 #602 [Verbose] > stream.memoize 00:00:15 #603 [Verbose] > inl current_index = mut 0i64 00:00:15 #604 [Verbose] > inl acc = mut 1 00:00:15 #605 [Verbose] > inl len = mut -1 00:00:15 #606 [Verbose] > let rec loop () = 00:00:15 #607 [Verbose] > match s () |> stream.try_item *current_index with 00:00:15 #608 [Verbose] > | Some item => 00:00:15 #609 [Verbose] > current_index <- *current_index + 1 00:00:15 #610 [Verbose] > item 00:00:15 #611 [Verbose] > | None => 00:00:15 #612 [Verbose] > if *len = -1 00:00:15 #613 [Verbose] > then len <- *current_index 00:00:15 #614 [Verbose] > acc <- 00:00:15 #615 [Verbose] > if *acc >= *len 00:00:15 #616 [Verbose] > then 1 00:00:15 #617 [Verbose] > else *acc + 1 00:00:15 #618 [Verbose] > current_index <- *acc - 1 00:00:15 #619 [Verbose] > loop () 00:00:15 #620 [Verbose] > loop 00:00:15 #621 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5307-0796-0580c3fb43cc\main.spi 00:00:15 #622 [Verbose] > 00:00:15 #623 [Verbose] > ╭─[ 179.78ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:15 #624 [Verbose] > │ () │ 00:00:15 #625 [Verbose] > │ │ 00:00:15 #626 [Verbose] > │ │ 00:00:15 #627 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 #628 [Verbose] > 00:00:15 #629 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:15 #630 [Verbose] > // // test 00:00:15 #631 [Verbose] > 00:00:15 #632 [Verbose] > inl sequential_roll = create_sequential_roller [[ 1i32; 2; 3; 4 ]] 00:00:15 #633 [Verbose] > 00:00:15 #634 [Verbose] > am.init 20i32 (ignore >> sequential_roll) 00:00:15 #635 [Verbose] > |> _equal (a ;[[ 1; 2; 3; 4; 4; 3; 2; 1; 2; 3; 4; 4; 3; 2; 1; 3; 4; 4; 3; 2 ]] : 00:00:15 #636 [Verbose] > a i32 i32) 00:00:15 #637 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5326-2629-2ca8300c65e8\main.spi 00:00:16 #638 [Verbose] > 00:00:16 #639 [Verbose] > ╭─[ 795.13ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:16 #640 [Verbose] > │ type UH0 = │ 00:00:16 #641 [Verbose] > │ | UH0_0 of int32 * (unit -> UH0) │ 00:00:16 #642 [Verbose] > │ | UH0_1 │ 00:00:16 #643 [Verbose] > │ and [<Struct>] US0 = │ 00:00:16 #644 [Verbose] > │ | US0_0 of f0_0 : UH0 │ 00:00:16 #645 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │ 00:00:16 #646 [Verbose] > │ and Mut0 = {mutable l0 : US0} │ 00:00:16 #647 [Verbose] > │ and Mut1 = {mutable l0 : int64} │ 00:00:16 #648 [Verbose] > │ and Mut2 = {mutable l0 : int32} │ 00:00:16 #649 [Verbose] > │ and [<Struct>] US1 = │ 00:00:16 #650 [Verbose] > │ | US1_0 │ 00:00:16 #651 [Verbose] > │ | US1_1 of f1_0 : int32 │ 00:00:16 #652 [Verbose] > │ let rec closure8 () () : UH0 = │ 00:00:16 #653 [Verbose] > │ UH0_1 │ 00:00:16 #654 [Verbose] > │ and closure7 () () : UH0 = │ 00:00:16 #655 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │ 00:00:16 #656 [Verbose] > │ UH0_0(1, v0) │ 00:00:16 #657 [Verbose] > │ and closure6 () () : UH0 = │ 00:00:16 #658 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │ 00:00:16 #659 [Verbose] > │ UH0_0(2, v0) │ 00:00:16 #660 [Verbose] > │ and closure5 () () : UH0 = │ 00:00:16 #661 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │ 00:00:16 #662 [Verbose] > │ UH0_0(3, v0) │ 00:00:16 #663 [Verbose] > │ and closure4 () () : UH0 = │ 00:00:16 #664 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │ 00:00:16 #665 [Verbose] > │ UH0_0(4, v0) │ 00:00:16 #666 [Verbose] > │ and closure3 () () : UH0 = │ 00:00:16 #667 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │ 00:00:16 #668 [Verbose] > │ UH0_0(4, v0) │ 00:00:16 #669 [Verbose] > │ and closure2 () () : UH0 = │ 00:00:16 #670 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │ 00:00:16 #671 [Verbose] > │ UH0_0(3, v0) │ 00:00:16 #672 [Verbose] > │ and closure1 () () : UH0 = │ 00:00:16 #673 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │ 00:00:16 #674 [Verbose] > │ UH0_0(2, v0) │ 00:00:16 #675 [Verbose] > │ and closure0 () () : UH0 = │ 00:00:16 #676 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │ 00:00:16 #677 [Verbose] > │ UH0_0(1, v0) │ 00:00:16 #678 [Verbose] > │ and method1 (v0 : Mut2) : bool = │ 00:00:16 #679 [Verbose] > │ let v1 : int32 = v0.l0 │ 00:00:16 #680 [Verbose] > │ let v2 : bool = v1 < 20 │ 00:00:16 #681 [Verbose] > │ v2 │ 00:00:16 #682 [Verbose] > │ and closure9 (v0 : Mut0) () : UH0 = │ 00:00:16 #683 [Verbose] > │ let v1 : US0 = v0.l0 │ 00:00:16 #684 [Verbose] > │ match v1 with │ 00:00:16 #685 [Verbose] > │ | US0_0(v2) -> (* Computed *) │ 00:00:16 #686 [Verbose] > │ v2 │ 00:00:16 #687 [Verbose] > │ | US0_1(v3) -> (* NotComputed *) │ 00:00:16 #688 [Verbose] > │ let v4 : UH0 = v3 () │ 00:00:16 #689 [Verbose] > │ let v13 : UH0 = │ 00:00:16 #690 [Verbose] > │ match v4 with │ 00:00:16 #691 [Verbose] > │ | UH0_0(v6, v7) -> (* StreamCons *) │ 00:00:16 #692 [Verbose] > │ let v8 : US0 = US0_1(v7) │ 00:00:16 #693 [Verbose] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │ 00:00:16 #694 [Verbose] > │ let v10 : (unit -> UH0) = closure9(v9) │ 00:00:16 #695 [Verbose] > │ UH0_0(v6, v10) │ 00:00:16 #696 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:16 #697 [Verbose] > │ UH0_1 │ 00:00:16 #698 [Verbose] > │ let v14 : US0 = US0_0(v13) │ 00:00:16 #699 [Verbose] > │ v0.l0 <- v14 │ 00:00:16 #700 [Verbose] > │ v13 │ 00:00:16 #701 [Verbose] > │ and method3 (v0 : int64, v1 : UH0) : US1 = │ 00:00:16 #702 [Verbose] > │ match v1 with │ 00:00:16 #703 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │ 00:00:16 #704 [Verbose] > │ let v4 : bool = v0 <= 0L │ 00:00:16 #705 [Verbose] > │ if v4 then │ 00:00:16 #706 [Verbose] > │ US1_1(v2) │ 00:00:16 #707 [Verbose] > │ else │ 00:00:16 #708 [Verbose] > │ let v6 : int64 = v0 - 1L │ 00:00:16 #709 [Verbose] > │ let v7 : UH0 = v3 () │ 00:00:16 #710 [Verbose] > │ method3(v6, v7) │ 00:00:16 #711 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:16 #712 [Verbose] > │ US1_0 │ 00:00:16 #713 [Verbose] > │ and method2 (v0 : Mut0, v1 : Mut1, v2 : Mut1, v3 : Mut1) : int32 = │ 00:00:16 #714 [Verbose] > │ let v4 : US0 = v0.l0 │ 00:00:16 #715 [Verbose] > │ let v19 : UH0 = │ 00:00:16 #716 [Verbose] > │ match v4 with │ 00:00:16 #717 [Verbose] > │ | US0_0(v5) -> (* Computed *) │ 00:00:16 #718 [Verbose] > │ v5 │ 00:00:16 #719 [Verbose] > │ | US0_1(v6) -> (* NotComputed *) │ 00:00:16 #720 [Verbose] > │ let v7 : UH0 = v6 () │ 00:00:16 #721 [Verbose] > │ let v16 : UH0 = │ 00:00:16 #722 [Verbose] > │ match v7 with │ 00:00:16 #723 [Verbose] > │ | UH0_0(v9, v10) -> (* StreamCons *) │ 00:00:16 #724 [Verbose] > │ let v11 : US0 = US0_1(v10) │ 00:00:16 #725 [Verbose] > │ let v12 : Mut0 = {l0 = v11} : Mut0 │ 00:00:16 #726 [Verbose] > │ let v13 : (unit -> UH0) = closure9(v12) │ 00:00:16 #727 [Verbose] > │ UH0_0(v9, v13) │ 00:00:16 #728 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:16 #729 [Verbose] > │ UH0_1 │ 00:00:16 #730 [Verbose] > │ let v17 : US0 = US0_0(v16) │ 00:00:16 #731 [Verbose] > │ v0.l0 <- v17 │ 00:00:16 #732 [Verbose] > │ v16 │ 00:00:16 #733 [Verbose] > │ let v20 : int64 = v1.l0 │ 00:00:16 #734 [Verbose] > │ let v21 : US1 = method3(v20, v19) │ 00:00:16 #735 [Verbose] > │ match v21 with │ 00:00:16 #736 [Verbose] > │ | US1_0 -> (* None *) │ 00:00:16 #737 [Verbose] > │ let v25 : int64 = v3.l0 │ 00:00:16 #738 [Verbose] > │ let v26 : bool = v25 = -1L │ 00:00:16 #739 [Verbose] > │ if v26 then │ 00:00:16 #740 [Verbose] > │ let v27 : int64 = v1.l0 │ 00:00:16 #741 [Verbose] > │ v3.l0 <- v27 │ 00:00:16 #742 [Verbose] > │ () │ 00:00:16 #743 [Verbose] > │ let v28 : int64 = v2.l0 │ 00:00:16 #744 [Verbose] > │ let v29 : int64 = v3.l0 │ 00:00:16 #745 [Verbose] > │ let v30 : bool = v28 >= v29 │ 00:00:16 #746 [Verbose] > │ let v33 : int64 = │ 00:00:16 #747 [Verbose] > │ if v30 then │ 00:00:16 #748 [Verbose] > │ 1L │ 00:00:16 #749 [Verbose] > │ else │ 00:00:16 #750 [Verbose] > │ let v31 : int64 = v2.l0 │ 00:00:16 #751 [Verbose] > │ let v32 : int64 = v31 + 1L │ 00:00:16 #752 [Verbose] > │ v32 │ 00:00:16 #753 [Verbose] > │ v2.l0 <- v33 │ 00:00:16 #754 [Verbose] > │ let v34 : int64 = v2.l0 │ 00:00:16 #755 [Verbose] > │ let v35 : int64 = v34 - 1L │ 00:00:16 #756 [Verbose] > │ v1.l0 <- v35 │ 00:00:16 #757 [Verbose] > │ method2(v0, v1, v2, v3) │ 00:00:16 #758 [Verbose] > │ | US1_1(v22) -> (* Some *) │ 00:00:16 #759 [Verbose] > │ let v23 : int64 = v1.l0 │ 00:00:16 #760 [Verbose] > │ let v24 : int64 = v23 + 1L │ 00:00:16 #761 [Verbose] > │ v1.l0 <- v24 │ 00:00:16 #762 [Verbose] > │ v22 │ 00:00:16 #763 [Verbose] > │ and method4 (v0 : (int32 []), v1 : (int32 []), v2 : int32) : bool = │ 00:00:16 #764 [Verbose] > │ let v3 : int32 = v0.Length │ 00:00:16 #765 [Verbose] > │ let v4 : bool = v2 < v3 │ 00:00:16 #766 [Verbose] > │ if v4 then │ 00:00:16 #767 [Verbose] > │ let v5 : int32 = v0.[int v2] │ 00:00:16 #768 [Verbose] > │ let v6 : int32 = v1.[int v2] │ 00:00:16 #769 [Verbose] > │ let v7 : bool = v5 = v6 │ 00:00:16 #770 [Verbose] > │ if v7 then │ 00:00:16 #771 [Verbose] > │ let v8 : int32 = v2 + 1 │ 00:00:16 #772 [Verbose] > │ method4(v0, v1, v8) │ 00:00:16 #773 [Verbose] > │ else │ 00:00:16 #774 [Verbose] > │ false │ 00:00:16 #775 [Verbose] > │ else │ 00:00:16 #776 [Verbose] > │ true │ 00:00:16 #777 [Verbose] > │ and method0 () : unit = │ 00:00:16 #778 [Verbose] > │ let v0 : (unit -> UH0) = closure0() │ 00:00:16 #779 [Verbose] > │ let v1 : US0 = US0_1(v0) │ 00:00:16 #780 [Verbose] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │ 00:00:16 #781 [Verbose] > │ let v3 : Mut1 = {l0 = 0L} : Mut1 │ 00:00:16 #782 [Verbose] > │ let v4 : Mut1 = {l0 = 1L} : Mut1 │ 00:00:16 #783 [Verbose] > │ let v5 : Mut1 = {l0 = -1L} : Mut1 │ 00:00:16 #784 [Verbose] > │ let v6 : (int32 []) = Array.zeroCreate<int32> (20) │ 00:00:16 #785 [Verbose] > │ let v7 : Mut2 = {l0 = 0} : Mut2 │ 00:00:16 #786 [Verbose] > │ while method1(v7) do │ 00:00:16 #787 [Verbose] > │ let v9 : int32 = v7.l0 │ 00:00:16 #788 [Verbose] > │ let v10 : int32 = method2(v2, v3, v4, v5) │ 00:00:16 #789 [Verbose] > │ v6.[int v9] <- v10 │ 00:00:16 #790 [Verbose] > │ let v11 : int32 = v9 + 1 │ 00:00:16 #791 [Verbose] > │ v7.l0 <- v11 │ 00:00:16 #792 [Verbose] > │ () │ 00:00:16 #793 [Verbose] > │ let v12 : (int32 []) = [|1; 2; 3; 4; 4; 3; 2; 1; 2; 3; 4; 4; 3; 2; 1; 3; │ 00:00:16 #794 [Verbose] > │ 4; 4; 3; 2|] │ 00:00:16 #795 [Verbose] > │ let v13 : int32 = v6.Length │ 00:00:16 #796 [Verbose] > │ let v14 : int32 = v12.Length │ 00:00:16 #797 [Verbose] > │ let v15 : bool = v13 = v14 │ 00:00:16 #798 [Verbose] > │ let v16 : bool = v15 <> true │ 00:00:16 #799 [Verbose] > │ let v19 : bool = │ 00:00:16 #800 [Verbose] > │ if v16 then │ 00:00:16 #801 [Verbose] > │ false │ 00:00:16 #802 [Verbose] > │ else │ 00:00:16 #803 [Verbose] > │ let v17 : int32 = 0 │ 00:00:16 #804 [Verbose] > │ method4(v6, v12, v17) │ 00:00:16 #805 [Verbose] > │ let v20 : string = $"_equal / actual: %A{v6} / expected: %A{v12}" │ 00:00:16 #806 [Verbose] > │ let v21 : bool = v19 = false │ 00:00:16 #807 [Verbose] > │ if v21 then │ 00:00:16 #808 [Verbose] > │ failwith<unit> v20 │ 00:00:16 #809 [Verbose] > │ method0() │ 00:00:16 #810 [Verbose] > │ │ 00:00:16 #811 [Verbose] > │ │ 00:00:16 #812 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 #813 [Verbose] > 00:00:16 #814 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 #815 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 #816 [Verbose] > │ ## roll_progressively │ 00:00:16 #817 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 #818 [Verbose] > 00:00:16 #819 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:16 #820 [Verbose] > inl roll_progressively (log : option (string -> ())) roll reroll max = 00:00:16 #821 [Verbose] > inl power = (calculate_dice_count log max) - 1 00:00:16 #822 [Verbose] > let rec loop rolls size = 00:00:16 #823 [Verbose] > if size < power + 1 00:00:16 #824 [Verbose] > then loop (roll () :: rolls) (size + 1) 00:00:16 #825 [Verbose] > else accumulate_dice_rolls log rolls power 0 |> function 00:00:16 #826 [Verbose] > | Some (result, _) when result <= max => result 00:00:16 #827 [Verbose] > | _ when reroll => loop (listm.init power (fun _ => roll ())) power 00:00:16 #828 [Verbose] > | _ => loop (roll () :: rolls) (size + 1) 00:00:16 #829 [Verbose] > loop [[]] 0 00:00:16 #830 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5413-1352-1e835448fca7\main.spi 00:00:16 #831 [Verbose] > 00:00:16 #832 [Verbose] > ╭─[ 182.84ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:16 #833 [Verbose] > │ () │ 00:00:16 #834 [Verbose] > │ │ 00:00:16 #835 [Verbose] > │ │ 00:00:16 #836 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 #837 [Verbose] > 00:00:16 #838 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:16 #839 [Verbose] > // // test 00:00:16 #840 [Verbose] > 00:00:16 #841 [Verbose] > roll_progressively None roll_dice false 1 00:00:16 #842 [Verbose] > |> _equal 1i32 00:00:16 #843 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5431-3198-37a5824b7940\main.spi 00:00:17 #844 [Verbose] > 00:00:17 #845 [Verbose] > ╭─[ 333.42ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:17 #846 [Verbose] > │ type UH0 = │ 00:00:17 #847 [Verbose] > │ | UH0_0 of uint8 * UH0 │ 00:00:17 #848 [Verbose] > │ | UH0_1 │ 00:00:17 #849 [Verbose] > │ and [<Struct>] US0 = │ 00:00:17 #850 [Verbose] > │ | US0_0 │ 00:00:17 #851 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : UH0 │ 00:00:17 #852 [Verbose] > │ let rec method3 (v0 : UH0, v1 : int32) : US0 = │ 00:00:17 #853 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" │ 00:00:17 #854 [Verbose] > │ let v3 : int32 = v1 + 1 │ 00:00:17 #855 [Verbose] > │ US0_1(v3, v0) │ 00:00:17 #856 [Verbose] > │ and method2 (v0 : UH0, v1 : int32) : US0 = │ 00:00:17 #857 [Verbose] > │ match v0 with │ 00:00:17 #858 [Verbose] > │ | UH0_0(v3, v4) -> (* Cons *) │ 00:00:17 #859 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #860 [Verbose] > │ if v5 then │ 00:00:17 #861 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #862 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #863 [Verbose] > │ let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:17 #864 [Verbose] > │ {v1} / roll: {v3} / value: {v7}" │ 00:00:17 #865 [Verbose] > │ let v9 : int32 = v1 + v7 │ 00:00:17 #866 [Verbose] > │ method3(v4, v9) │ 00:00:17 #867 [Verbose] > │ else │ 00:00:17 #868 [Verbose] > │ let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:17 #869 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #870 [Verbose] > │ method3(v4, v1) │ 00:00:17 #871 [Verbose] > │ | UH0_1 -> (* Nil *) │ 00:00:17 #872 [Verbose] > │ US0_0 │ 00:00:17 #873 [Verbose] > │ and method1 (v0 : UH0, v1 : int8) : int32 = │ 00:00:17 #874 [Verbose] > │ let v2 : bool = v1 < 1y │ 00:00:17 #875 [Verbose] > │ if v2 then │ 00:00:17 #876 [Verbose] > │ let mutable result = None │ 00:00:17 #877 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:17 #878 [Verbose] > │ #if !WASM │ 00:00:17 #879 [Verbose] > │ let v3 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), │ 00:00:17 #880 [Verbose] > │ 1..7)" │ 00:00:17 #881 [Verbose] > │ let v4 : uint8 = Fable.Core.RustInterop.emitRustExpr () v3 │ 00:00:17 #882 [Verbose] > │ v4 │ 00:00:17 #883 [Verbose] > │ #else │ 00:00:17 #884 [Verbose] > │ let v5 : string = "1" │ 00:00:17 #885 [Verbose] > │ let v6 : uint8 = Fable.Core.RustInterop.emitRustExpr () v5 │ 00:00:17 #886 [Verbose] > │ v6 │ 00:00:17 #887 [Verbose] > │ #endif │ 00:00:17 #888 [Verbose] > │ #else │ 00:00:17 #889 [Verbose] > │ let v7 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:17 #890 [Verbose] > │ v7 │ 00:00:17 #891 [Verbose] > │ #endif │ 00:00:17 #892 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:17 #893 [Verbose] > │ let v8 : uint8 = result |> Option.get │ 00:00:17 #894 [Verbose] > │ let v9 : UH0 = UH0_0(v8, v0) │ 00:00:17 #895 [Verbose] > │ let v10 : int8 = v1 + 1y │ 00:00:17 #896 [Verbose] > │ method1(v9, v10) │ 00:00:17 #897 [Verbose] > │ else │ 00:00:17 #898 [Verbose] > │ let v12 : int32 = 0 │ 00:00:17 #899 [Verbose] > │ let v13 : US0 = method2(v0, v12) │ 00:00:17 #900 [Verbose] > │ match v13 with │ 00:00:17 #901 [Verbose] > │ | US0_1(v14, v15) -> (* Some *) │ 00:00:17 #902 [Verbose] > │ let v16 : bool = v14 <= 1 │ 00:00:17 #903 [Verbose] > │ if v16 then │ 00:00:17 #904 [Verbose] > │ v14 │ 00:00:17 #905 [Verbose] > │ else │ 00:00:17 #906 [Verbose] > │ let mutable result = None │ 00:00:17 #907 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:17 #908 [Verbose] > │ #if !WASM │ 00:00:17 #909 [Verbose] > │ let v17 : string = "rand::Rng::gen_range(&mut │ 00:00:17 #910 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:17 #911 [Verbose] > │ let v18 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:17 #912 [Verbose] > │ v18 │ 00:00:17 #913 [Verbose] > │ #else │ 00:00:17 #914 [Verbose] > │ let v19 : string = "1" │ 00:00:17 #915 [Verbose] > │ let v20 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:17 #916 [Verbose] > │ v20 │ 00:00:17 #917 [Verbose] > │ #endif │ 00:00:17 #918 [Verbose] > │ #else │ 00:00:17 #919 [Verbose] > │ let v21 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:17 #920 [Verbose] > │ v21 │ 00:00:17 #921 [Verbose] > │ #endif │ 00:00:17 #922 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:17 #923 [Verbose] > │ let v22 : uint8 = result |> Option.get │ 00:00:17 #924 [Verbose] > │ let v23 : UH0 = UH0_0(v22, v0) │ 00:00:17 #925 [Verbose] > │ let v24 : int8 = v1 + 1y │ 00:00:17 #926 [Verbose] > │ method1(v23, v24) │ 00:00:17 #927 [Verbose] > │ | _ -> │ 00:00:17 #928 [Verbose] > │ let mutable result = None │ 00:00:17 #929 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:17 #930 [Verbose] > │ #if !WASM │ 00:00:17 #931 [Verbose] > │ let v27 : string = "rand::Rng::gen_range(&mut │ 00:00:17 #932 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:17 #933 [Verbose] > │ let v28 : uint8 = Fable.Core.RustInterop.emitRustExpr () v27 │ 00:00:17 #934 [Verbose] > │ v28 │ 00:00:17 #935 [Verbose] > │ #else │ 00:00:17 #936 [Verbose] > │ let v29 : string = "1" │ 00:00:17 #937 [Verbose] > │ let v30 : uint8 = Fable.Core.RustInterop.emitRustExpr () v29 │ 00:00:17 #938 [Verbose] > │ v30 │ 00:00:17 #939 [Verbose] > │ #endif │ 00:00:17 #940 [Verbose] > │ #else │ 00:00:17 #941 [Verbose] > │ let v31 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:17 #942 [Verbose] > │ v31 │ 00:00:17 #943 [Verbose] > │ #endif │ 00:00:17 #944 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:17 #945 [Verbose] > │ let v32 : uint8 = result |> Option.get │ 00:00:17 #946 [Verbose] > │ let v33 : UH0 = UH0_0(v32, v0) │ 00:00:17 #947 [Verbose] > │ let v34 : int8 = v1 + 1y │ 00:00:17 #948 [Verbose] > │ method1(v33, v34) │ 00:00:17 #949 [Verbose] > │ and method0 () : unit = │ 00:00:17 #950 [Verbose] > │ let v0 : UH0 = UH0_1 │ 00:00:17 #951 [Verbose] > │ let v1 : int8 = 0y │ 00:00:17 #952 [Verbose] > │ let v2 : int32 = method1(v0, v1) │ 00:00:17 #953 [Verbose] > │ let v3 : bool = v2 = 1 │ 00:00:17 #954 [Verbose] > │ let v4 : string = $"_equal / actual: %A{v2} / expected: %A{1}" │ 00:00:17 #955 [Verbose] > │ let v5 : bool = v3 = false │ 00:00:17 #956 [Verbose] > │ if v5 then │ 00:00:17 #957 [Verbose] > │ failwith<unit> v4 │ 00:00:17 #958 [Verbose] > │ method0() │ 00:00:17 #959 [Verbose] > │ │ 00:00:17 #960 [Verbose] > │ │ 00:00:17 #961 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 #962 [Verbose] > 00:00:17 #963 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:17 #964 [Verbose] > // // test 00:00:17 #965 [Verbose] > 00:00:17 #966 [Verbose] > inl sequential_roll = create_sequential_roller [[ 5; 4; 4; 5; 1 ]] 00:00:17 #967 [Verbose] > 00:00:17 #968 [Verbose] > roll_progressively (Some console.write_line) sequential_roll false 2000i32 00:00:17 #969 [Verbose] > |> _equal 995 00:00:17 #970 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5470-7036-7c2d2b6c8c3f\main.spi 00:00:17 #971 [Verbose] > 00:00:17 #972 [Verbose] > ╭─[ 499.83ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:17 #973 [Verbose] > │ type UH0 = │ 00:00:17 #974 [Verbose] > │ | UH0_0 of uint8 * (unit -> UH0) │ 00:00:17 #975 [Verbose] > │ | UH0_1 │ 00:00:17 #976 [Verbose] > │ and [<Struct>] US0 = │ 00:00:17 #977 [Verbose] > │ | US0_0 of f0_0 : UH0 │ 00:00:17 #978 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │ 00:00:17 #979 [Verbose] > │ and Mut0 = {mutable l0 : US0} │ 00:00:17 #980 [Verbose] > │ and Mut1 = {mutable l0 : int64} │ 00:00:17 #981 [Verbose] > │ and UH1 = │ 00:00:17 #982 [Verbose] > │ | UH1_0 of uint8 * UH1 │ 00:00:17 #983 [Verbose] > │ | UH1_1 │ 00:00:17 #984 [Verbose] > │ and [<Struct>] US1 = │ 00:00:17 #985 [Verbose] > │ | US1_0 │ 00:00:17 #986 [Verbose] > │ | US1_1 of f1_0 : uint8 │ 00:00:17 #987 [Verbose] > │ and [<Struct>] US2 = │ 00:00:17 #988 [Verbose] > │ | US2_0 │ 00:00:17 #989 [Verbose] > │ | US2_1 of f1_0 : int32 * f1_1 : UH1 │ 00:00:17 #990 [Verbose] > │ let rec closure10 () () : UH0 = │ 00:00:17 #991 [Verbose] > │ UH0_1 │ 00:00:17 #992 [Verbose] > │ and closure9 () () : UH0 = │ 00:00:17 #993 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │ 00:00:17 #994 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:17 #995 [Verbose] > │ and closure8 () () : UH0 = │ 00:00:17 #996 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │ 00:00:17 #997 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:17 #998 [Verbose] > │ and closure7 () () : UH0 = │ 00:00:17 #999 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │ 00:00:17 #1000 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:17 #1001 [Verbose] > │ and closure6 () () : UH0 = │ 00:00:17 #1002 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │ 00:00:17 #1003 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:17 #1004 [Verbose] > │ and closure5 () () : UH0 = │ 00:00:17 #1005 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │ 00:00:17 #1006 [Verbose] > │ UH0_0(1uy, v0) │ 00:00:17 #1007 [Verbose] > │ and closure4 () () : UH0 = │ 00:00:17 #1008 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │ 00:00:17 #1009 [Verbose] > │ UH0_0(1uy, v0) │ 00:00:17 #1010 [Verbose] > │ and closure3 () () : UH0 = │ 00:00:17 #1011 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │ 00:00:17 #1012 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:17 #1013 [Verbose] > │ and closure2 () () : UH0 = │ 00:00:17 #1014 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │ 00:00:17 #1015 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:17 #1016 [Verbose] > │ and closure1 () () : UH0 = │ 00:00:17 #1017 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │ 00:00:17 #1018 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:17 #1019 [Verbose] > │ and closure0 () () : UH0 = │ 00:00:17 #1020 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │ 00:00:17 #1021 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:17 #1022 [Verbose] > │ and closure11 (v0 : Mut0) () : UH0 = │ 00:00:17 #1023 [Verbose] > │ let v1 : US0 = v0.l0 │ 00:00:17 #1024 [Verbose] > │ match v1 with │ 00:00:17 #1025 [Verbose] > │ | US0_0(v2) -> (* Computed *) │ 00:00:17 #1026 [Verbose] > │ v2 │ 00:00:17 #1027 [Verbose] > │ | US0_1(v3) -> (* NotComputed *) │ 00:00:17 #1028 [Verbose] > │ let v4 : UH0 = v3 () │ 00:00:17 #1029 [Verbose] > │ let v13 : UH0 = │ 00:00:17 #1030 [Verbose] > │ match v4 with │ 00:00:17 #1031 [Verbose] > │ | UH0_0(v6, v7) -> (* StreamCons *) │ 00:00:17 #1032 [Verbose] > │ let v8 : US0 = US0_1(v7) │ 00:00:17 #1033 [Verbose] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │ 00:00:17 #1034 [Verbose] > │ let v10 : (unit -> UH0) = closure11(v9) │ 00:00:17 #1035 [Verbose] > │ UH0_0(v6, v10) │ 00:00:17 #1036 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:17 #1037 [Verbose] > │ UH0_1 │ 00:00:17 #1038 [Verbose] > │ let v14 : US0 = US0_0(v13) │ 00:00:17 #1039 [Verbose] > │ v0.l0 <- v14 │ 00:00:17 #1040 [Verbose] > │ v13 │ 00:00:17 #1041 [Verbose] > │ and method3 (v0 : int64, v1 : UH0) : US1 = │ 00:00:17 #1042 [Verbose] > │ match v1 with │ 00:00:17 #1043 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │ 00:00:17 #1044 [Verbose] > │ let v4 : bool = v0 <= 0L │ 00:00:17 #1045 [Verbose] > │ if v4 then │ 00:00:17 #1046 [Verbose] > │ US1_1(v2) │ 00:00:17 #1047 [Verbose] > │ else │ 00:00:17 #1048 [Verbose] > │ let v6 : int64 = v0 - 1L │ 00:00:17 #1049 [Verbose] > │ let v7 : UH0 = v3 () │ 00:00:17 #1050 [Verbose] > │ method3(v6, v7) │ 00:00:17 #1051 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:17 #1052 [Verbose] > │ US1_0 │ 00:00:17 #1053 [Verbose] > │ and method2 (v0 : Mut0, v1 : Mut1, v2 : Mut1, v3 : Mut1) : uint8 = │ 00:00:17 #1054 [Verbose] > │ let v4 : US0 = v0.l0 │ 00:00:17 #1055 [Verbose] > │ let v19 : UH0 = │ 00:00:17 #1056 [Verbose] > │ match v4 with │ 00:00:17 #1057 [Verbose] > │ | US0_0(v5) -> (* Computed *) │ 00:00:17 #1058 [Verbose] > │ v5 │ 00:00:17 #1059 [Verbose] > │ | US0_1(v6) -> (* NotComputed *) │ 00:00:17 #1060 [Verbose] > │ let v7 : UH0 = v6 () │ 00:00:17 #1061 [Verbose] > │ let v16 : UH0 = │ 00:00:17 #1062 [Verbose] > │ match v7 with │ 00:00:17 #1063 [Verbose] > │ | UH0_0(v9, v10) -> (* StreamCons *) │ 00:00:17 #1064 [Verbose] > │ let v11 : US0 = US0_1(v10) │ 00:00:17 #1065 [Verbose] > │ let v12 : Mut0 = {l0 = v11} : Mut0 │ 00:00:17 #1066 [Verbose] > │ let v13 : (unit -> UH0) = closure11(v12) │ 00:00:17 #1067 [Verbose] > │ UH0_0(v9, v13) │ 00:00:17 #1068 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:17 #1069 [Verbose] > │ UH0_1 │ 00:00:17 #1070 [Verbose] > │ let v17 : US0 = US0_0(v16) │ 00:00:17 #1071 [Verbose] > │ v0.l0 <- v17 │ 00:00:17 #1072 [Verbose] > │ v16 │ 00:00:17 #1073 [Verbose] > │ let v20 : int64 = v1.l0 │ 00:00:17 #1074 [Verbose] > │ let v21 : US1 = method3(v20, v19) │ 00:00:17 #1075 [Verbose] > │ match v21 with │ 00:00:17 #1076 [Verbose] > │ | US1_0 -> (* None *) │ 00:00:17 #1077 [Verbose] > │ let v25 : int64 = v3.l0 │ 00:00:17 #1078 [Verbose] > │ let v26 : bool = v25 = -1L │ 00:00:17 #1079 [Verbose] > │ if v26 then │ 00:00:17 #1080 [Verbose] > │ let v27 : int64 = v1.l0 │ 00:00:17 #1081 [Verbose] > │ v3.l0 <- v27 │ 00:00:17 #1082 [Verbose] > │ () │ 00:00:17 #1083 [Verbose] > │ let v28 : int64 = v2.l0 │ 00:00:17 #1084 [Verbose] > │ let v29 : int64 = v3.l0 │ 00:00:17 #1085 [Verbose] > │ let v30 : bool = v28 >= v29 │ 00:00:17 #1086 [Verbose] > │ let v33 : int64 = │ 00:00:17 #1087 [Verbose] > │ if v30 then │ 00:00:17 #1088 [Verbose] > │ 1L │ 00:00:17 #1089 [Verbose] > │ else │ 00:00:17 #1090 [Verbose] > │ let v31 : int64 = v2.l0 │ 00:00:17 #1091 [Verbose] > │ let v32 : int64 = v31 + 1L │ 00:00:17 #1092 [Verbose] > │ v32 │ 00:00:17 #1093 [Verbose] > │ v2.l0 <- v33 │ 00:00:17 #1094 [Verbose] > │ let v34 : int64 = v2.l0 │ 00:00:17 #1095 [Verbose] > │ let v35 : int64 = v34 - 1L │ 00:00:17 #1096 [Verbose] > │ v1.l0 <- v35 │ 00:00:17 #1097 [Verbose] > │ method2(v0, v1, v2, v3) │ 00:00:17 #1098 [Verbose] > │ | US1_1(v22) -> (* Some *) │ 00:00:17 #1099 [Verbose] > │ let v23 : int64 = v1.l0 │ 00:00:17 #1100 [Verbose] > │ let v24 : int64 = v23 + 1L │ 00:00:17 #1101 [Verbose] > │ v1.l0 <- v24 │ 00:00:17 #1102 [Verbose] > │ v22 │ 00:00:17 #1103 [Verbose] > │ and method9 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1104 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" │ 00:00:17 #1105 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:17 #1106 [Verbose] > │ let v3 : int32 = v1 + 1 │ 00:00:17 #1107 [Verbose] > │ US2_1(v3, v0) │ 00:00:17 #1108 [Verbose] > │ and method8 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1109 [Verbose] > │ match v0 with │ 00:00:17 #1110 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:17 #1111 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #1112 [Verbose] > │ if v5 then │ 00:00:17 #1113 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #1114 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #1115 [Verbose] > │ let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:17 #1116 [Verbose] > │ {v1} / roll: {v3} / value: {v7}" │ 00:00:17 #1117 [Verbose] > │ System.Console.WriteLine v8 │ 00:00:17 #1118 [Verbose] > │ let v9 : int32 = v1 + v7 │ 00:00:17 #1119 [Verbose] > │ method9(v4, v9) │ 00:00:17 #1120 [Verbose] > │ else │ 00:00:17 #1121 [Verbose] > │ let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:17 #1122 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #1123 [Verbose] > │ System.Console.WriteLine v11 │ 00:00:17 #1124 [Verbose] > │ method9(v4, v1) │ 00:00:17 #1125 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:17 #1126 [Verbose] > │ US2_0 │ 00:00:17 #1127 [Verbose] > │ and method7 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1128 [Verbose] > │ match v0 with │ 00:00:17 #1129 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:17 #1130 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #1131 [Verbose] > │ if v5 then │ 00:00:17 #1132 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #1133 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #1134 [Verbose] > │ let v8 : int32 = v7 * 6 │ 00:00:17 #1135 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:17 #1136 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:17 #1137 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:17 #1138 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:17 #1139 [Verbose] > │ method8(v4, v10) │ 00:00:17 #1140 [Verbose] > │ else │ 00:00:17 #1141 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:17 #1142 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #1143 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:17 #1144 [Verbose] > │ method8(v4, v1) │ 00:00:17 #1145 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:17 #1146 [Verbose] > │ US2_0 │ 00:00:17 #1147 [Verbose] > │ and method6 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1148 [Verbose] > │ match v0 with │ 00:00:17 #1149 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:17 #1150 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #1151 [Verbose] > │ if v5 then │ 00:00:17 #1152 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #1153 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #1154 [Verbose] > │ let v8 : int32 = v7 * 36 │ 00:00:17 #1155 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:17 #1156 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:17 #1157 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:17 #1158 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:17 #1159 [Verbose] > │ method7(v4, v10) │ 00:00:17 #1160 [Verbose] > │ else │ 00:00:17 #1161 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:17 #1162 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #1163 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:17 #1164 [Verbose] > │ method7(v4, v1) │ 00:00:17 #1165 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:17 #1166 [Verbose] > │ US2_0 │ 00:00:17 #1167 [Verbose] > │ and method5 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1168 [Verbose] > │ match v0 with │ 00:00:17 #1169 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:17 #1170 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #1171 [Verbose] > │ if v5 then │ 00:00:17 #1172 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #1173 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #1174 [Verbose] > │ let v8 : int32 = v7 * 216 │ 00:00:17 #1175 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:17 #1176 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:17 #1177 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:17 #1178 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:17 #1179 [Verbose] > │ method6(v4, v10) │ 00:00:17 #1180 [Verbose] > │ else │ 00:00:17 #1181 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:17 #1182 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #1183 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:17 #1184 [Verbose] > │ method6(v4, v1) │ 00:00:17 #1185 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:17 #1186 [Verbose] > │ US2_0 │ 00:00:17 #1187 [Verbose] > │ and method4 (v0 : UH1, v1 : int32) : US2 = │ 00:00:17 #1188 [Verbose] > │ match v0 with │ 00:00:17 #1189 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:17 #1190 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:17 #1191 [Verbose] > │ if v5 then │ 00:00:17 #1192 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:17 #1193 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:17 #1194 [Verbose] > │ let v8 : int32 = v7 * 1296 │ 00:00:17 #1195 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:17 #1196 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:17 #1197 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:17 #1198 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:17 #1199 [Verbose] > │ method5(v4, v10) │ 00:00:17 #1200 [Verbose] > │ else │ 00:00:17 #1201 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:17 #1202 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:17 #1203 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:17 #1204 [Verbose] > │ method5(v4, v1) │ 00:00:17 #1205 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:17 #1206 [Verbose] > │ US2_0 │ 00:00:17 #1207 [Verbose] > │ and method1 (v0 : Mut0, v1 : Mut1, v2 : Mut1, v3 : Mut1, v4 : UH1, v5 : │ 00:00:17 #1208 [Verbose] > │ int8) : int32 = │ 00:00:17 #1209 [Verbose] > │ let v6 : bool = v5 < 5y │ 00:00:17 #1210 [Verbose] > │ if v6 then │ 00:00:17 #1211 [Verbose] > │ let v7 : uint8 = method2(v0, v1, v2, v3) │ 00:00:17 #1212 [Verbose] > │ let v8 : UH1 = UH1_0(v7, v4) │ 00:00:17 #1213 [Verbose] > │ let v9 : int8 = v5 + 1y │ 00:00:17 #1214 [Verbose] > │ method1(v0, v1, v2, v3, v8, v9) │ 00:00:17 #1215 [Verbose] > │ else │ 00:00:17 #1216 [Verbose] > │ let v11 : int32 = 0 │ 00:00:17 #1217 [Verbose] > │ let v12 : US2 = method4(v4, v11) │ 00:00:17 #1218 [Verbose] > │ match v12 with │ 00:00:17 #1219 [Verbose] > │ | US2_1(v13, v14) -> (* Some *) │ 00:00:17 #1220 [Verbose] > │ let v15 : bool = v13 <= 2000 │ 00:00:17 #1221 [Verbose] > │ if v15 then │ 00:00:17 #1222 [Verbose] > │ v13 │ 00:00:17 #1223 [Verbose] > │ else │ 00:00:17 #1224 [Verbose] > │ let v16 : uint8 = method2(v0, v1, v2, v3) │ 00:00:17 #1225 [Verbose] > │ let v17 : UH1 = UH1_0(v16, v4) │ 00:00:17 #1226 [Verbose] > │ let v18 : int8 = v5 + 1y │ 00:00:17 #1227 [Verbose] > │ method1(v0, v1, v2, v3, v17, v18) │ 00:00:17 #1228 [Verbose] > │ | _ -> │ 00:00:17 #1229 [Verbose] > │ let v21 : uint8 = method2(v0, v1, v2, v3) │ 00:00:17 #1230 [Verbose] > │ let v22 : UH1 = UH1_0(v21, v4) │ 00:00:17 #1231 [Verbose] > │ let v23 : int8 = v5 + 1y │ 00:00:17 #1232 [Verbose] > │ method1(v0, v1, v2, v3, v22, v23) │ 00:00:17 #1233 [Verbose] > │ and method0 () : unit = │ 00:00:17 #1234 [Verbose] > │ let v0 : (unit -> UH0) = closure0() │ 00:00:17 #1235 [Verbose] > │ let v1 : US0 = US0_1(v0) │ 00:00:17 #1236 [Verbose] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │ 00:00:17 #1237 [Verbose] > │ let v3 : Mut1 = {l0 = 0L} : Mut1 │ 00:00:17 #1238 [Verbose] > │ let v4 : Mut1 = {l0 = 1L} : Mut1 │ 00:00:17 #1239 [Verbose] > │ let v5 : Mut1 = {l0 = -1L} : Mut1 │ 00:00:17 #1240 [Verbose] > │ let v6 : string = $"calculate_dice_count / max: {2000} / n: {5y} / p: │ 00:00:17 #1241 [Verbose] > │ {7776}" │ 00:00:17 #1242 [Verbose] > │ System.Console.WriteLine v6 │ 00:00:17 #1243 [Verbose] > │ let v7 : UH1 = UH1_1 │ 00:00:17 #1244 [Verbose] > │ let v8 : int8 = 0y │ 00:00:17 #1245 [Verbose] > │ let v9 : int32 = method1(v2, v3, v4, v5, v7, v8) │ 00:00:17 #1246 [Verbose] > │ let v10 : bool = v9 = 995 │ 00:00:17 #1247 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{995}" │ 00:00:17 #1248 [Verbose] > │ let v12 : bool = v10 = false │ 00:00:17 #1249 [Verbose] > │ if v12 then │ 00:00:17 #1250 [Verbose] > │ failwith<unit> v11 │ 00:00:17 #1251 [Verbose] > │ method0() │ 00:00:17 #1252 [Verbose] > │ │ 00:00:17 #1253 [Verbose] > │ calculate_dice_count / max: 2000 / n: 5 / p: 7776 │ 00:00:17 #1254 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 1 │ 00:00:17 #1255 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 0 / roll: 5 / value: 864 │ 00:00:17 #1256 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 864 / roll: 4 / value: 108 │ 00:00:17 #1257 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 972 / roll: 4 / value: 18 │ 00:00:17 #1258 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 990 / roll: 5 / value: 4 │ 00:00:17 #1259 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 994 │ 00:00:17 #1260 [Verbose] > │ │ 00:00:17 #1261 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 #1262 [Verbose] > 00:00:17 #1263 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:17 #1264 [Verbose] > // // test 00:00:17 #1265 [Verbose] > 00:00:17 #1266 [Verbose] > inl sequential_roll = create_sequential_roller [[ 5; 4; 4; 5; 2 ]] 00:00:17 #1267 [Verbose] > 00:00:17 #1268 [Verbose] > roll_progressively (Some console.write_line) sequential_roll false 2000i32 00:00:17 #1269 [Verbose] > |> _equal 1678 00:00:18 #1270 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5539-3910-3659ae2ead4b\main.spi 00:00:18 #1271 [Verbose] > 00:00:18 #1272 [Verbose] > ╭─[ 528.74ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:18 #1273 [Verbose] > │ type UH0 = │ 00:00:18 #1274 [Verbose] > │ | UH0_0 of uint8 * (unit -> UH0) │ 00:00:18 #1275 [Verbose] > │ | UH0_1 │ 00:00:18 #1276 [Verbose] > │ and [<Struct>] US0 = │ 00:00:18 #1277 [Verbose] > │ | US0_0 of f0_0 : UH0 │ 00:00:18 #1278 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │ 00:00:18 #1279 [Verbose] > │ and Mut0 = {mutable l0 : US0} │ 00:00:18 #1280 [Verbose] > │ and Mut1 = {mutable l0 : int64} │ 00:00:18 #1281 [Verbose] > │ and UH1 = │ 00:00:18 #1282 [Verbose] > │ | UH1_0 of uint8 * UH1 │ 00:00:18 #1283 [Verbose] > │ | UH1_1 │ 00:00:18 #1284 [Verbose] > │ and [<Struct>] US1 = │ 00:00:18 #1285 [Verbose] > │ | US1_0 │ 00:00:18 #1286 [Verbose] > │ | US1_1 of f1_0 : uint8 │ 00:00:18 #1287 [Verbose] > │ and [<Struct>] US2 = │ 00:00:18 #1288 [Verbose] > │ | US2_0 │ 00:00:18 #1289 [Verbose] > │ | US2_1 of f1_0 : int32 * f1_1 : UH1 │ 00:00:18 #1290 [Verbose] > │ let rec closure10 () () : UH0 = │ 00:00:18 #1291 [Verbose] > │ UH0_1 │ 00:00:18 #1292 [Verbose] > │ and closure9 () () : UH0 = │ 00:00:18 #1293 [Verbose] > │ let v0 : (unit -> UH0) = closure10() │ 00:00:18 #1294 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:18 #1295 [Verbose] > │ and closure8 () () : UH0 = │ 00:00:18 #1296 [Verbose] > │ let v0 : (unit -> UH0) = closure9() │ 00:00:18 #1297 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:18 #1298 [Verbose] > │ and closure7 () () : UH0 = │ 00:00:18 #1299 [Verbose] > │ let v0 : (unit -> UH0) = closure8() │ 00:00:18 #1300 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:18 #1301 [Verbose] > │ and closure6 () () : UH0 = │ 00:00:18 #1302 [Verbose] > │ let v0 : (unit -> UH0) = closure7() │ 00:00:18 #1303 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:18 #1304 [Verbose] > │ and closure5 () () : UH0 = │ 00:00:18 #1305 [Verbose] > │ let v0 : (unit -> UH0) = closure6() │ 00:00:18 #1306 [Verbose] > │ UH0_0(2uy, v0) │ 00:00:18 #1307 [Verbose] > │ and closure4 () () : UH0 = │ 00:00:18 #1308 [Verbose] > │ let v0 : (unit -> UH0) = closure5() │ 00:00:18 #1309 [Verbose] > │ UH0_0(2uy, v0) │ 00:00:18 #1310 [Verbose] > │ and closure3 () () : UH0 = │ 00:00:18 #1311 [Verbose] > │ let v0 : (unit -> UH0) = closure4() │ 00:00:18 #1312 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:18 #1313 [Verbose] > │ and closure2 () () : UH0 = │ 00:00:18 #1314 [Verbose] > │ let v0 : (unit -> UH0) = closure3() │ 00:00:18 #1315 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:18 #1316 [Verbose] > │ and closure1 () () : UH0 = │ 00:00:18 #1317 [Verbose] > │ let v0 : (unit -> UH0) = closure2() │ 00:00:18 #1318 [Verbose] > │ UH0_0(4uy, v0) │ 00:00:18 #1319 [Verbose] > │ and closure0 () () : UH0 = │ 00:00:18 #1320 [Verbose] > │ let v0 : (unit -> UH0) = closure1() │ 00:00:18 #1321 [Verbose] > │ UH0_0(5uy, v0) │ 00:00:18 #1322 [Verbose] > │ and closure11 (v0 : Mut0) () : UH0 = │ 00:00:18 #1323 [Verbose] > │ let v1 : US0 = v0.l0 │ 00:00:18 #1324 [Verbose] > │ match v1 with │ 00:00:18 #1325 [Verbose] > │ | US0_0(v2) -> (* Computed *) │ 00:00:18 #1326 [Verbose] > │ v2 │ 00:00:18 #1327 [Verbose] > │ | US0_1(v3) -> (* NotComputed *) │ 00:00:18 #1328 [Verbose] > │ let v4 : UH0 = v3 () │ 00:00:18 #1329 [Verbose] > │ let v13 : UH0 = │ 00:00:18 #1330 [Verbose] > │ match v4 with │ 00:00:18 #1331 [Verbose] > │ | UH0_0(v6, v7) -> (* StreamCons *) │ 00:00:18 #1332 [Verbose] > │ let v8 : US0 = US0_1(v7) │ 00:00:18 #1333 [Verbose] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │ 00:00:18 #1334 [Verbose] > │ let v10 : (unit -> UH0) = closure11(v9) │ 00:00:18 #1335 [Verbose] > │ UH0_0(v6, v10) │ 00:00:18 #1336 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:18 #1337 [Verbose] > │ UH0_1 │ 00:00:18 #1338 [Verbose] > │ let v14 : US0 = US0_0(v13) │ 00:00:18 #1339 [Verbose] > │ v0.l0 <- v14 │ 00:00:18 #1340 [Verbose] > │ v13 │ 00:00:18 #1341 [Verbose] > │ and method3 (v0 : int64, v1 : UH0) : US1 = │ 00:00:18 #1342 [Verbose] > │ match v1 with │ 00:00:18 #1343 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │ 00:00:18 #1344 [Verbose] > │ let v4 : bool = v0 <= 0L │ 00:00:18 #1345 [Verbose] > │ if v4 then │ 00:00:18 #1346 [Verbose] > │ US1_1(v2) │ 00:00:18 #1347 [Verbose] > │ else │ 00:00:18 #1348 [Verbose] > │ let v6 : int64 = v0 - 1L │ 00:00:18 #1349 [Verbose] > │ let v7 : UH0 = v3 () │ 00:00:18 #1350 [Verbose] > │ method3(v6, v7) │ 00:00:18 #1351 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:18 #1352 [Verbose] > │ US1_0 │ 00:00:18 #1353 [Verbose] > │ and method2 (v0 : Mut0, v1 : Mut1, v2 : Mut1, v3 : Mut1) : uint8 = │ 00:00:18 #1354 [Verbose] > │ let v4 : US0 = v0.l0 │ 00:00:18 #1355 [Verbose] > │ let v19 : UH0 = │ 00:00:18 #1356 [Verbose] > │ match v4 with │ 00:00:18 #1357 [Verbose] > │ | US0_0(v5) -> (* Computed *) │ 00:00:18 #1358 [Verbose] > │ v5 │ 00:00:18 #1359 [Verbose] > │ | US0_1(v6) -> (* NotComputed *) │ 00:00:18 #1360 [Verbose] > │ let v7 : UH0 = v6 () │ 00:00:18 #1361 [Verbose] > │ let v16 : UH0 = │ 00:00:18 #1362 [Verbose] > │ match v7 with │ 00:00:18 #1363 [Verbose] > │ | UH0_0(v9, v10) -> (* StreamCons *) │ 00:00:18 #1364 [Verbose] > │ let v11 : US0 = US0_1(v10) │ 00:00:18 #1365 [Verbose] > │ let v12 : Mut0 = {l0 = v11} : Mut0 │ 00:00:18 #1366 [Verbose] > │ let v13 : (unit -> UH0) = closure11(v12) │ 00:00:18 #1367 [Verbose] > │ UH0_0(v9, v13) │ 00:00:18 #1368 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:18 #1369 [Verbose] > │ UH0_1 │ 00:00:18 #1370 [Verbose] > │ let v17 : US0 = US0_0(v16) │ 00:00:18 #1371 [Verbose] > │ v0.l0 <- v17 │ 00:00:18 #1372 [Verbose] > │ v16 │ 00:00:18 #1373 [Verbose] > │ let v20 : int64 = v1.l0 │ 00:00:18 #1374 [Verbose] > │ let v21 : US1 = method3(v20, v19) │ 00:00:18 #1375 [Verbose] > │ match v21 with │ 00:00:18 #1376 [Verbose] > │ | US1_0 -> (* None *) │ 00:00:18 #1377 [Verbose] > │ let v25 : int64 = v3.l0 │ 00:00:18 #1378 [Verbose] > │ let v26 : bool = v25 = -1L │ 00:00:18 #1379 [Verbose] > │ if v26 then │ 00:00:18 #1380 [Verbose] > │ let v27 : int64 = v1.l0 │ 00:00:18 #1381 [Verbose] > │ v3.l0 <- v27 │ 00:00:18 #1382 [Verbose] > │ () │ 00:00:18 #1383 [Verbose] > │ let v28 : int64 = v2.l0 │ 00:00:18 #1384 [Verbose] > │ let v29 : int64 = v3.l0 │ 00:00:18 #1385 [Verbose] > │ let v30 : bool = v28 >= v29 │ 00:00:18 #1386 [Verbose] > │ let v33 : int64 = │ 00:00:18 #1387 [Verbose] > │ if v30 then │ 00:00:18 #1388 [Verbose] > │ 1L │ 00:00:18 #1389 [Verbose] > │ else │ 00:00:18 #1390 [Verbose] > │ let v31 : int64 = v2.l0 │ 00:00:18 #1391 [Verbose] > │ let v32 : int64 = v31 + 1L │ 00:00:18 #1392 [Verbose] > │ v32 │ 00:00:18 #1393 [Verbose] > │ v2.l0 <- v33 │ 00:00:18 #1394 [Verbose] > │ let v34 : int64 = v2.l0 │ 00:00:18 #1395 [Verbose] > │ let v35 : int64 = v34 - 1L │ 00:00:18 #1396 [Verbose] > │ v1.l0 <- v35 │ 00:00:18 #1397 [Verbose] > │ method2(v0, v1, v2, v3) │ 00:00:18 #1398 [Verbose] > │ | US1_1(v22) -> (* Some *) │ 00:00:18 #1399 [Verbose] > │ let v23 : int64 = v1.l0 │ 00:00:18 #1400 [Verbose] > │ let v24 : int64 = v23 + 1L │ 00:00:18 #1401 [Verbose] > │ v1.l0 <- v24 │ 00:00:18 #1402 [Verbose] > │ v22 │ 00:00:18 #1403 [Verbose] > │ and method9 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1404 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" │ 00:00:18 #1405 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:18 #1406 [Verbose] > │ let v3 : int32 = v1 + 1 │ 00:00:18 #1407 [Verbose] > │ US2_1(v3, v0) │ 00:00:18 #1408 [Verbose] > │ and method8 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1409 [Verbose] > │ match v0 with │ 00:00:18 #1410 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:18 #1411 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:18 #1412 [Verbose] > │ if v5 then │ 00:00:18 #1413 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:18 #1414 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:18 #1415 [Verbose] > │ let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:18 #1416 [Verbose] > │ {v1} / roll: {v3} / value: {v7}" │ 00:00:18 #1417 [Verbose] > │ System.Console.WriteLine v8 │ 00:00:18 #1418 [Verbose] > │ let v9 : int32 = v1 + v7 │ 00:00:18 #1419 [Verbose] > │ method9(v4, v9) │ 00:00:18 #1420 [Verbose] > │ else │ 00:00:18 #1421 [Verbose] > │ let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:18 #1422 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:18 #1423 [Verbose] > │ System.Console.WriteLine v11 │ 00:00:18 #1424 [Verbose] > │ method9(v4, v1) │ 00:00:18 #1425 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:18 #1426 [Verbose] > │ US2_0 │ 00:00:18 #1427 [Verbose] > │ and method7 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1428 [Verbose] > │ match v0 with │ 00:00:18 #1429 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:18 #1430 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:18 #1431 [Verbose] > │ if v5 then │ 00:00:18 #1432 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:18 #1433 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:18 #1434 [Verbose] > │ let v8 : int32 = v7 * 6 │ 00:00:18 #1435 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:18 #1436 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:18 #1437 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:18 #1438 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:18 #1439 [Verbose] > │ method8(v4, v10) │ 00:00:18 #1440 [Verbose] > │ else │ 00:00:18 #1441 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:18 #1442 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:18 #1443 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:18 #1444 [Verbose] > │ method8(v4, v1) │ 00:00:18 #1445 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:18 #1446 [Verbose] > │ US2_0 │ 00:00:18 #1447 [Verbose] > │ and method6 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1448 [Verbose] > │ match v0 with │ 00:00:18 #1449 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:18 #1450 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:18 #1451 [Verbose] > │ if v5 then │ 00:00:18 #1452 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:18 #1453 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:18 #1454 [Verbose] > │ let v8 : int32 = v7 * 36 │ 00:00:18 #1455 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:18 #1456 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:18 #1457 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:18 #1458 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:18 #1459 [Verbose] > │ method7(v4, v10) │ 00:00:18 #1460 [Verbose] > │ else │ 00:00:18 #1461 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:18 #1462 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:18 #1463 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:18 #1464 [Verbose] > │ method7(v4, v1) │ 00:00:18 #1465 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:18 #1466 [Verbose] > │ US2_0 │ 00:00:18 #1467 [Verbose] > │ and method5 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1468 [Verbose] > │ match v0 with │ 00:00:18 #1469 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:18 #1470 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:18 #1471 [Verbose] > │ if v5 then │ 00:00:18 #1472 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:18 #1473 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:18 #1474 [Verbose] > │ let v8 : int32 = v7 * 216 │ 00:00:18 #1475 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:18 #1476 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:18 #1477 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:18 #1478 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:18 #1479 [Verbose] > │ method6(v4, v10) │ 00:00:18 #1480 [Verbose] > │ else │ 00:00:18 #1481 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:18 #1482 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:18 #1483 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:18 #1484 [Verbose] > │ method6(v4, v1) │ 00:00:18 #1485 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:18 #1486 [Verbose] > │ US2_0 │ 00:00:18 #1487 [Verbose] > │ and method4 (v0 : UH1, v1 : int32) : US2 = │ 00:00:18 #1488 [Verbose] > │ match v0 with │ 00:00:18 #1489 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:18 #1490 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:18 #1491 [Verbose] > │ if v5 then │ 00:00:18 #1492 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:18 #1493 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:18 #1494 [Verbose] > │ let v8 : int32 = v7 * 1296 │ 00:00:18 #1495 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:18 #1496 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:18 #1497 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:18 #1498 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:18 #1499 [Verbose] > │ method5(v4, v10) │ 00:00:18 #1500 [Verbose] > │ else │ 00:00:18 #1501 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:18 #1502 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:18 #1503 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:18 #1504 [Verbose] > │ method5(v4, v1) │ 00:00:18 #1505 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:18 #1506 [Verbose] > │ US2_0 │ 00:00:18 #1507 [Verbose] > │ and method1 (v0 : Mut0, v1 : Mut1, v2 : Mut1, v3 : Mut1, v4 : UH1, v5 : │ 00:00:18 #1508 [Verbose] > │ int8) : int32 = │ 00:00:18 #1509 [Verbose] > │ let v6 : bool = v5 < 5y │ 00:00:18 #1510 [Verbose] > │ if v6 then │ 00:00:18 #1511 [Verbose] > │ let v7 : uint8 = method2(v0, v1, v2, v3) │ 00:00:18 #1512 [Verbose] > │ let v8 : UH1 = UH1_0(v7, v4) │ 00:00:18 #1513 [Verbose] > │ let v9 : int8 = v5 + 1y │ 00:00:18 #1514 [Verbose] > │ method1(v0, v1, v2, v3, v8, v9) │ 00:00:18 #1515 [Verbose] > │ else │ 00:00:18 #1516 [Verbose] > │ let v11 : int32 = 0 │ 00:00:18 #1517 [Verbose] > │ let v12 : US2 = method4(v4, v11) │ 00:00:18 #1518 [Verbose] > │ match v12 with │ 00:00:18 #1519 [Verbose] > │ | US2_1(v13, v14) -> (* Some *) │ 00:00:18 #1520 [Verbose] > │ let v15 : bool = v13 <= 2000 │ 00:00:18 #1521 [Verbose] > │ if v15 then │ 00:00:18 #1522 [Verbose] > │ v13 │ 00:00:18 #1523 [Verbose] > │ else │ 00:00:18 #1524 [Verbose] > │ let v16 : uint8 = method2(v0, v1, v2, v3) │ 00:00:18 #1525 [Verbose] > │ let v17 : UH1 = UH1_0(v16, v4) │ 00:00:18 #1526 [Verbose] > │ let v18 : int8 = v5 + 1y │ 00:00:18 #1527 [Verbose] > │ method1(v0, v1, v2, v3, v17, v18) │ 00:00:18 #1528 [Verbose] > │ | _ -> │ 00:00:18 #1529 [Verbose] > │ let v21 : uint8 = method2(v0, v1, v2, v3) │ 00:00:18 #1530 [Verbose] > │ let v22 : UH1 = UH1_0(v21, v4) │ 00:00:18 #1531 [Verbose] > │ let v23 : int8 = v5 + 1y │ 00:00:18 #1532 [Verbose] > │ method1(v0, v1, v2, v3, v22, v23) │ 00:00:18 #1533 [Verbose] > │ and method0 () : unit = │ 00:00:18 #1534 [Verbose] > │ let v0 : (unit -> UH0) = closure0() │ 00:00:18 #1535 [Verbose] > │ let v1 : US0 = US0_1(v0) │ 00:00:18 #1536 [Verbose] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │ 00:00:18 #1537 [Verbose] > │ let v3 : Mut1 = {l0 = 0L} : Mut1 │ 00:00:18 #1538 [Verbose] > │ let v4 : Mut1 = {l0 = 1L} : Mut1 │ 00:00:18 #1539 [Verbose] > │ let v5 : Mut1 = {l0 = -1L} : Mut1 │ 00:00:18 #1540 [Verbose] > │ let v6 : string = $"calculate_dice_count / max: {2000} / n: {5y} / p: │ 00:00:18 #1541 [Verbose] > │ {7776}" │ 00:00:18 #1542 [Verbose] > │ System.Console.WriteLine v6 │ 00:00:18 #1543 [Verbose] > │ let v7 : UH1 = UH1_1 │ 00:00:18 #1544 [Verbose] > │ let v8 : int8 = 0y │ 00:00:18 #1545 [Verbose] > │ let v9 : int32 = method1(v2, v3, v4, v5, v7, v8) │ 00:00:18 #1546 [Verbose] > │ let v10 : bool = v9 = 1678 │ 00:00:18 #1547 [Verbose] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{1678}" │ 00:00:18 #1548 [Verbose] > │ let v12 : bool = v10 = false │ 00:00:18 #1549 [Verbose] > │ if v12 then │ 00:00:18 #1550 [Verbose] > │ failwith<unit> v11 │ 00:00:18 #1551 [Verbose] > │ method0() │ 00:00:18 #1552 [Verbose] > │ │ 00:00:18 #1553 [Verbose] > │ calculate_dice_count / max: 2000 / n: 5 / p: 7776 │ 00:00:18 #1554 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │ 00:00:18 #1555 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 1296 / roll: 5 / value: 864 │ 00:00:18 #1556 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 2160 / roll: 4 / value: 108 │ 00:00:18 #1557 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 2268 / roll: 4 / value: 18 │ 00:00:18 #1558 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 2286 / roll: 5 / value: 4 │ 00:00:18 #1559 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 2290 │ 00:00:18 #1560 [Verbose] > │ accumulate_dice_rolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │ 00:00:18 #1561 [Verbose] > │ accumulate_dice_rolls / power: 3 / acc: 1296 / roll: 2 / value: 216 │ 00:00:18 #1562 [Verbose] > │ accumulate_dice_rolls / power: 2 / acc: 1512 / roll: 5 / value: 144 │ 00:00:18 #1563 [Verbose] > │ accumulate_dice_rolls / power: 1 / acc: 1656 / roll: 4 / value: 18 │ 00:00:18 #1564 [Verbose] > │ accumulate_dice_rolls / power: 0 / acc: 1674 / roll: 4 / value: 3 │ 00:00:18 #1565 [Verbose] > │ accumulate_dice_rolls / power: -1 / acc: 1677 │ 00:00:18 #1566 [Verbose] > │ │ 00:00:18 #1567 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:18 #1568 [Verbose] > 00:00:18 #1569 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:18 #1570 [Verbose] > // // test 00:00:18 #1571 [Verbose] > 00:00:18 #1572 [Verbose] > listm'.init_series 1i32 40 1 00:00:18 #1573 [Verbose] > |> listm.map (fun _ => roll_progressively None roll_dice false 10i32) 00:00:18 #1574 [Verbose] > |> listm'.group_by id 00:00:18 #1575 [Verbose] > |> listm.map (fun (k, v) => k, (listm.length v : i32)) 00:00:18 #1576 [Verbose] > |> listm.toArray 00:00:18 #1577 [Verbose] > |> fun (ar : a i32 _) => 00:00:18 #1578 [Verbose] > $"!ar |> Array.sortBy (fun (struct (a, b)) -> a)" : a i32 $"struct (int32 * 00:00:18 #1579 [Verbose] > int32)" 00:00:18 #1580 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5609-0943-0cf3e78b7f5a\main.spi 00:00:19 #1581 [Verbose] > 00:00:19 #1582 [Verbose] > ╭─[ 942.77ms - return value ]──────────────────────────────────────────────────╮ 00:00:19 #1583 [Verbose] > │ <table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr │ 00:00:19 #1584 [Verbose] > │ ><td>0</td><td><details class="dni-treeview"><summary><span │ 00:00:19 #1585 [Verbose] > │ class="dni-code-hint"><code>(2, │ 00:00:19 #1586 [Verbose] > │ 5)</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ 00:00:19 #1587 [Verbose] > │ >Item1</td><td><div │ 00:00:19 #1588 [Verbose] > │ class="dni-plaintext"><pre>2</pre></div></td></tr><tr><td>Item2</td><td><div │ 00:00:19 #1589 [Verbose] > │ class="dni-plaintext"><pre>5</pre></div></td></tr></tbody></table></div></de │ 00:00:19 #1590 [Verbose] > │ tails></td></tr><tr><td>1</td><td><details │ 00:00:19 #1591 [Verbose] > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>(3, │ 00:00:19 #1592 [Verbose] > │ 7)</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ 00:00:19 #1593 [Verbose] > │ >Item1</td><td><div │ 00:00:19 #1594 [Verbose] > │ class="dni-plaintext"><pre>3</pre></div></td></tr><tr><td>Item2</td><td><div │ 00:00:19 #1595 [Verbose] > │ class="dni-plaintext"><pre>7</pre></div></td></tr... │ 00:00:19 #1596 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 #1597 [Verbose] > 00:00:19 #1598 [Verbose] > ╭─[ 980.82ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:19 #1599 [Verbose] > │ type UH0 = │ 00:00:19 #1600 [Verbose] > │ | UH0_0 of uint8 * UH0 │ 00:00:19 #1601 [Verbose] > │ | UH0_1 │ 00:00:19 #1602 [Verbose] > │ and [<Struct>] US0 = │ 00:00:19 #1603 [Verbose] > │ | US0_0 │ 00:00:19 #1604 [Verbose] > │ | US0_1 of f1_0 : int32 * f1_1 : UH0 │ 00:00:19 #1605 [Verbose] > │ and UH2 = │ 00:00:19 #1606 [Verbose] > │ | UH2_0 of int32 * UH2 │ 00:00:19 #1607 [Verbose] > │ | UH2_1 │ 00:00:19 #1608 [Verbose] > │ and UH1 = │ 00:00:19 #1609 [Verbose] > │ | UH1_0 of int32 * UH2 * UH1 │ 00:00:19 #1610 [Verbose] > │ | UH1_1 │ 00:00:19 #1611 [Verbose] > │ and UH3 = │ 00:00:19 #1612 [Verbose] > │ | UH3_0 of int32 * int32 * UH3 │ 00:00:19 #1613 [Verbose] > │ | UH3_1 │ 00:00:19 #1614 [Verbose] > │ let rec method4 (v0 : UH0, v1 : int32) : US0 = │ 00:00:19 #1615 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" │ 00:00:19 #1616 [Verbose] > │ let v3 : int32 = v1 + 1 │ 00:00:19 #1617 [Verbose] > │ US0_1(v3, v0) │ 00:00:19 #1618 [Verbose] > │ and method3 (v0 : UH0, v1 : int32) : US0 = │ 00:00:19 #1619 [Verbose] > │ match v0 with │ 00:00:19 #1620 [Verbose] > │ | UH0_0(v3, v4) -> (* Cons *) │ 00:00:19 #1621 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:19 #1622 [Verbose] > │ if v5 then │ 00:00:19 #1623 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:19 #1624 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:19 #1625 [Verbose] > │ let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:19 #1626 [Verbose] > │ {v1} / roll: {v3} / value: {v7}" │ 00:00:19 #1627 [Verbose] > │ let v9 : int32 = v1 + v7 │ 00:00:19 #1628 [Verbose] > │ method4(v4, v9) │ 00:00:19 #1629 [Verbose] > │ else │ 00:00:19 #1630 [Verbose] > │ let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:19 #1631 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:19 #1632 [Verbose] > │ method4(v4, v1) │ 00:00:19 #1633 [Verbose] > │ | UH0_1 -> (* Nil *) │ 00:00:19 #1634 [Verbose] > │ US0_0 │ 00:00:19 #1635 [Verbose] > │ and method2 (v0 : UH0, v1 : int32) : US0 = │ 00:00:19 #1636 [Verbose] > │ match v0 with │ 00:00:19 #1637 [Verbose] > │ | UH0_0(v3, v4) -> (* Cons *) │ 00:00:19 #1638 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:19 #1639 [Verbose] > │ if v5 then │ 00:00:19 #1640 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:19 #1641 [Verbose] > │ let v7 : int32 = int32 v6 │ 00:00:19 #1642 [Verbose] > │ let v8 : int32 = v7 * 6 │ 00:00:19 #1643 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:19 #1644 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:19 #1645 [Verbose] > │ let v10 : int32 = v1 + v8 │ 00:00:19 #1646 [Verbose] > │ method3(v4, v10) │ 00:00:19 #1647 [Verbose] > │ else │ 00:00:19 #1648 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:19 #1649 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:19 #1650 [Verbose] > │ method3(v4, v1) │ 00:00:19 #1651 [Verbose] > │ | UH0_1 -> (* Nil *) │ 00:00:19 #1652 [Verbose] > │ US0_0 │ 00:00:19 #1653 [Verbose] > │ and method1 (v0 : UH0, v1 : int8) : int32 = │ 00:00:19 #1654 [Verbose] > │ let v2 : bool = v1 < 2y │ 00:00:19 #1655 [Verbose] > │ if v2 then │ 00:00:19 #1656 [Verbose] > │ let mutable result = None │ 00:00:19 #1657 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:19 #1658 [Verbose] > │ #if !WASM │ 00:00:19 #1659 [Verbose] > │ let v3 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), │ 00:00:19 #1660 [Verbose] > │ 1..7)" │ 00:00:19 #1661 [Verbose] > │ let v4 : uint8 = Fable.Core.RustInterop.emitRustExpr () v3 │ 00:00:19 #1662 [Verbose] > │ v4 │ 00:00:19 #1663 [Verbose] > │ #else │ 00:00:19 #1664 [Verbose] > │ let v5 : string = "1" │ 00:00:19 #1665 [Verbose] > │ let v6 : uint8 = Fable.Core.RustInterop.emitRustExpr () v5 │ 00:00:19 #1666 [Verbose] > │ v6 │ 00:00:19 #1667 [Verbose] > │ #endif │ 00:00:19 #1668 [Verbose] > │ #else │ 00:00:19 #1669 [Verbose] > │ let v7 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:19 #1670 [Verbose] > │ v7 │ 00:00:19 #1671 [Verbose] > │ #endif │ 00:00:19 #1672 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:19 #1673 [Verbose] > │ let v8 : uint8 = result |> Option.get │ 00:00:19 #1674 [Verbose] > │ let v9 : UH0 = UH0_0(v8, v0) │ 00:00:19 #1675 [Verbose] > │ let v10 : int8 = v1 + 1y │ 00:00:19 #1676 [Verbose] > │ method1(v9, v10) │ 00:00:19 #1677 [Verbose] > │ else │ 00:00:19 #1678 [Verbose] > │ let v12 : int32 = 0 │ 00:00:19 #1679 [Verbose] > │ let v13 : US0 = method2(v0, v12) │ 00:00:19 #1680 [Verbose] > │ match v13 with │ 00:00:19 #1681 [Verbose] > │ | US0_1(v14, v15) -> (* Some *) │ 00:00:19 #1682 [Verbose] > │ let v16 : bool = v14 <= 10 │ 00:00:19 #1683 [Verbose] > │ if v16 then │ 00:00:19 #1684 [Verbose] > │ v14 │ 00:00:19 #1685 [Verbose] > │ else │ 00:00:19 #1686 [Verbose] > │ let mutable result = None │ 00:00:19 #1687 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:19 #1688 [Verbose] > │ #if !WASM │ 00:00:19 #1689 [Verbose] > │ let v17 : string = "rand::Rng::gen_range(&mut │ 00:00:19 #1690 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:19 #1691 [Verbose] > │ let v18 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:19 #1692 [Verbose] > │ v18 │ 00:00:19 #1693 [Verbose] > │ #else │ 00:00:19 #1694 [Verbose] > │ let v19 : string = "1" │ 00:00:19 #1695 [Verbose] > │ let v20 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:19 #1696 [Verbose] > │ v20 │ 00:00:19 #1697 [Verbose] > │ #endif │ 00:00:19 #1698 [Verbose] > │ #else │ 00:00:19 #1699 [Verbose] > │ let v21 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:19 #1700 [Verbose] > │ v21 │ 00:00:19 #1701 [Verbose] > │ #endif │ 00:00:19 #1702 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:19 #1703 [Verbose] > │ let v22 : uint8 = result |> Option.get │ 00:00:19 #1704 [Verbose] > │ let v23 : UH0 = UH0_0(v22, v0) │ 00:00:19 #1705 [Verbose] > │ let v24 : int8 = v1 + 1y │ 00:00:19 #1706 [Verbose] > │ method1(v23, v24) │ 00:00:19 #1707 [Verbose] > │ | _ -> │ 00:00:19 #1708 [Verbose] > │ let mutable result = None │ 00:00:19 #1709 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:19 #1710 [Verbose] > │ #if !WASM │ 00:00:19 #1711 [Verbose] > │ let v27 : string = "rand::Rng::gen_range(&mut │ 00:00:19 #1712 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:19 #1713 [Verbose] > │ let v28 : uint8 = Fable.Core.RustInterop.emitRustExpr () v27 │ 00:00:19 #1714 [Verbose] > │ v28 │ 00:00:19 #1715 [Verbose] > │ #else │ 00:00:19 #1716 [Verbose] > │ let v29 : string = "1" │ 00:00:19 #1717 [Verbose] > │ let v30 : uint8 = Fable.Core.RustInterop.emitRustExpr () v29 │ 00:00:19 #1718 [Verbose] > │ v30 │ 00:00:19 #1719 [Verbose] > │ #endif │ 00:00:19 #1720 [Verbose] > │ #else │ 00:00:19 #1721 [Verbose] > │ let v31 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:19 #1722 [Verbose] > │ v31 │ 00:00:19 #1723 [Verbose] > │ #endif │ 00:00:19 #1724 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:19 #1725 [Verbose] > │ let v32 : uint8 = result |> Option.get │ 00:00:19 #1726 [Verbose] > │ let v33 : UH0 = UH0_0(v32, v0) │ 00:00:19 #1727 [Verbose] > │ let v34 : int8 = v1 + 1y │ 00:00:19 #1728 [Verbose] > │ method1(v33, v34) │ 00:00:19 #1729 [Verbose] > │ and method5 (v0 : int32, v1 : UH1, v2 : bool, v3 : UH1) : struct (bool * │ 00:00:19 #1730 [Verbose] > │ UH1) = │ 00:00:19 #1731 [Verbose] > │ match v1 with │ 00:00:19 #1732 [Verbose] > │ | UH1_0(v4, v5, v6) -> (* Cons *) │ 00:00:19 #1733 [Verbose] > │ let v7 : bool = v4 = v0 │ 00:00:19 #1734 [Verbose] > │ let struct (v11 : bool, v12 : UH1) = │ 00:00:19 #1735 [Verbose] > │ if v7 then │ 00:00:19 #1736 [Verbose] > │ let v8 : UH2 = UH2_0(v0, v5) │ 00:00:19 #1737 [Verbose] > │ let v9 : UH1 = UH1_0(v4, v8, v3) │ 00:00:19 #1738 [Verbose] > │ struct (true, v9) │ 00:00:19 #1739 [Verbose] > │ else │ 00:00:19 #1740 [Verbose] > │ let v10 : UH1 = UH1_0(v4, v5, v3) │ 00:00:19 #1741 [Verbose] > │ struct (v2, v10) │ 00:00:19 #1742 [Verbose] > │ method5(v0, v6, v11, v12) │ 00:00:19 #1743 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:19 #1744 [Verbose] > │ struct (v2, v3) │ 00:00:19 #1745 [Verbose] > │ and method7 (v0 : UH2, v1 : int32) : int32 = │ 00:00:19 #1746 [Verbose] > │ match v0 with │ 00:00:19 #1747 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │ 00:00:19 #1748 [Verbose] > │ let v4 : int32 = v1 + 1 │ 00:00:19 #1749 [Verbose] > │ method7(v3, v4) │ 00:00:19 #1750 [Verbose] > │ | UH2_1 -> (* Nil *) │ 00:00:19 #1751 [Verbose] > │ v1 │ 00:00:19 #1752 [Verbose] > │ and method6 (v0 : UH1, v1 : UH3) : UH3 = │ 00:00:19 #1753 [Verbose] > │ match v0 with │ 00:00:19 #1754 [Verbose] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │ 00:00:19 #1755 [Verbose] > │ let v5 : UH3 = method6(v4, v1) │ 00:00:19 #1756 [Verbose] > │ let v6 : int32 = 0 │ 00:00:19 #1757 [Verbose] > │ let v7 : int32 = method7(v3, v6) │ 00:00:19 #1758 [Verbose] > │ UH3_0(v2, v7, v5) │ 00:00:19 #1759 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:19 #1760 [Verbose] > │ v1 │ 00:00:19 #1761 [Verbose] > │ and method9 (v0 : UH3, v1 : int32) : int32 = │ 00:00:19 #1762 [Verbose] > │ match v0 with │ 00:00:19 #1763 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │ 00:00:19 #1764 [Verbose] > │ let v5 : int32 = v1 + 1 │ 00:00:19 #1765 [Verbose] > │ method9(v4, v5) │ 00:00:19 #1766 [Verbose] > │ | UH3_1 -> (* Nil *) │ 00:00:19 #1767 [Verbose] > │ v1 │ 00:00:19 #1768 [Verbose] > │ and method10 (v0 : (struct (int32 * int32) []), v1 : UH3, v2 : int32) : │ 00:00:19 #1769 [Verbose] > │ int32 = │ 00:00:19 #1770 [Verbose] > │ match v1 with │ 00:00:19 #1771 [Verbose] > │ | UH3_0(v3, v4, v5) -> (* Cons *) │ 00:00:19 #1772 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │ 00:00:19 #1773 [Verbose] > │ let v6 : int32 = v2 + 1 │ 00:00:19 #1774 [Verbose] > │ method10(v0, v5, v6) │ 00:00:19 #1775 [Verbose] > │ | UH3_1 -> (* Nil *) │ 00:00:19 #1776 [Verbose] > │ v2 │ 00:00:19 #1777 [Verbose] > │ and method8 (v0 : UH3) : (struct (int32 * int32) []) = │ 00:00:19 #1778 [Verbose] > │ let v1 : int32 = 0 │ 00:00:19 #1779 [Verbose] > │ let v2 : int32 = method9(v0, v1) │ 00:00:19 #1780 [Verbose] > │ let v3 : (struct (int32 * int32) []) = Array.zeroCreate<struct (int32 * │ 00:00:19 #1781 [Verbose] > │ int32)> (v2) │ 00:00:19 #1782 [Verbose] > │ let v4 : int32 = 0 │ 00:00:19 #1783 [Verbose] > │ let v5 : int32 = method10(v3, v0, v4) │ 00:00:19 #1784 [Verbose] > │ v3 │ 00:00:19 #1785 [Verbose] > │ and method0 () : (struct (int32 * int32) []) = │ 00:00:19 #1786 [Verbose] > │ let v0 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1787 [Verbose] > │ {36}" │ 00:00:19 #1788 [Verbose] > │ let v1 : UH0 = UH0_1 │ 00:00:19 #1789 [Verbose] > │ let v2 : int8 = 0y │ 00:00:19 #1790 [Verbose] > │ let v3 : int32 = method1(v1, v2) │ 00:00:19 #1791 [Verbose] > │ let v4 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1792 [Verbose] > │ {36}" │ 00:00:19 #1793 [Verbose] > │ let v5 : UH0 = UH0_1 │ 00:00:19 #1794 [Verbose] > │ let v6 : int8 = 0y │ 00:00:19 #1795 [Verbose] > │ let v7 : int32 = method1(v5, v6) │ 00:00:19 #1796 [Verbose] > │ let v8 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1797 [Verbose] > │ {36}" │ 00:00:19 #1798 [Verbose] > │ let v9 : UH0 = UH0_1 │ 00:00:19 #1799 [Verbose] > │ let v10 : int8 = 0y │ 00:00:19 #1800 [Verbose] > │ let v11 : int32 = method1(v9, v10) │ 00:00:19 #1801 [Verbose] > │ let v12 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1802 [Verbose] > │ {36}" │ 00:00:19 #1803 [Verbose] > │ let v13 : UH0 = UH0_1 │ 00:00:19 #1804 [Verbose] > │ let v14 : int8 = 0y │ 00:00:19 #1805 [Verbose] > │ let v15 : int32 = method1(v13, v14) │ 00:00:19 #1806 [Verbose] > │ let v16 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1807 [Verbose] > │ {36}" │ 00:00:19 #1808 [Verbose] > │ let v17 : UH0 = UH0_1 │ 00:00:19 #1809 [Verbose] > │ let v18 : int8 = 0y │ 00:00:19 #1810 [Verbose] > │ let v19 : int32 = method1(v17, v18) │ 00:00:19 #1811 [Verbose] > │ let v20 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1812 [Verbose] > │ {36}" │ 00:00:19 #1813 [Verbose] > │ let v21 : UH0 = UH0_1 │ 00:00:19 #1814 [Verbose] > │ let v22 : int8 = 0y │ 00:00:19 #1815 [Verbose] > │ let v23 : int32 = method1(v21, v22) │ 00:00:19 #1816 [Verbose] > │ let v24 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1817 [Verbose] > │ {36}" │ 00:00:19 #1818 [Verbose] > │ let v25 : UH0 = UH0_1 │ 00:00:19 #1819 [Verbose] > │ let v26 : int8 = 0y │ 00:00:19 #1820 [Verbose] > │ let v27 : int32 = method1(v25, v26) │ 00:00:19 #1821 [Verbose] > │ let v28 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1822 [Verbose] > │ {36}" │ 00:00:19 #1823 [Verbose] > │ let v29 : UH0 = UH0_1 │ 00:00:19 #1824 [Verbose] > │ let v30 : int8 = 0y │ 00:00:19 #1825 [Verbose] > │ let v31 : int32 = method1(v29, v30) │ 00:00:19 #1826 [Verbose] > │ let v32 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1827 [Verbose] > │ {36}" │ 00:00:19 #1828 [Verbose] > │ let v33 : UH0 = UH0_1 │ 00:00:19 #1829 [Verbose] > │ let v34 : int8 = 0y │ 00:00:19 #1830 [Verbose] > │ let v35 : int32 = method1(v33, v34) │ 00:00:19 #1831 [Verbose] > │ let v36 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1832 [Verbose] > │ {36}" │ 00:00:19 #1833 [Verbose] > │ let v37 : UH0 = UH0_1 │ 00:00:19 #1834 [Verbose] > │ let v38 : int8 = 0y │ 00:00:19 #1835 [Verbose] > │ let v39 : int32 = method1(v37, v38) │ 00:00:19 #1836 [Verbose] > │ let v40 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1837 [Verbose] > │ {36}" │ 00:00:19 #1838 [Verbose] > │ let v41 : UH0 = UH0_1 │ 00:00:19 #1839 [Verbose] > │ let v42 : int8 = 0y │ 00:00:19 #1840 [Verbose] > │ let v43 : int32 = method1(v41, v42) │ 00:00:19 #1841 [Verbose] > │ let v44 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1842 [Verbose] > │ {36}" │ 00:00:19 #1843 [Verbose] > │ let v45 : UH0 = UH0_1 │ 00:00:19 #1844 [Verbose] > │ let v46 : int8 = 0y │ 00:00:19 #1845 [Verbose] > │ let v47 : int32 = method1(v45, v46) │ 00:00:19 #1846 [Verbose] > │ let v48 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1847 [Verbose] > │ {36}" │ 00:00:19 #1848 [Verbose] > │ let v49 : UH0 = UH0_1 │ 00:00:19 #1849 [Verbose] > │ let v50 : int8 = 0y │ 00:00:19 #1850 [Verbose] > │ let v51 : int32 = method1(v49, v50) │ 00:00:19 #1851 [Verbose] > │ let v52 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1852 [Verbose] > │ {36}" │ 00:00:19 #1853 [Verbose] > │ let v53 : UH0 = UH0_1 │ 00:00:19 #1854 [Verbose] > │ let v54 : int8 = 0y │ 00:00:19 #1855 [Verbose] > │ let v55 : int32 = method1(v53, v54) │ 00:00:19 #1856 [Verbose] > │ let v56 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1857 [Verbose] > │ {36}" │ 00:00:19 #1858 [Verbose] > │ let v57 : UH0 = UH0_1 │ 00:00:19 #1859 [Verbose] > │ let v58 : int8 = 0y │ 00:00:19 #1860 [Verbose] > │ let v59 : int32 = method1(v57, v58) │ 00:00:19 #1861 [Verbose] > │ let v60 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1862 [Verbose] > │ {36}" │ 00:00:19 #1863 [Verbose] > │ let v61 : UH0 = UH0_1 │ 00:00:19 #1864 [Verbose] > │ let v62 : int8 = 0y │ 00:00:19 #1865 [Verbose] > │ let v63 : int32 = method1(v61, v62) │ 00:00:19 #1866 [Verbose] > │ let v64 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1867 [Verbose] > │ {36}" │ 00:00:19 #1868 [Verbose] > │ let v65 : UH0 = UH0_1 │ 00:00:19 #1869 [Verbose] > │ let v66 : int8 = 0y │ 00:00:19 #1870 [Verbose] > │ let v67 : int32 = method1(v65, v66) │ 00:00:19 #1871 [Verbose] > │ let v68 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1872 [Verbose] > │ {36}" │ 00:00:19 #1873 [Verbose] > │ let v69 : UH0 = UH0_1 │ 00:00:19 #1874 [Verbose] > │ let v70 : int8 = 0y │ 00:00:19 #1875 [Verbose] > │ let v71 : int32 = method1(v69, v70) │ 00:00:19 #1876 [Verbose] > │ let v72 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1877 [Verbose] > │ {36}" │ 00:00:19 #1878 [Verbose] > │ let v73 : UH0 = UH0_1 │ 00:00:19 #1879 [Verbose] > │ let v74 : int8 = 0y │ 00:00:19 #1880 [Verbose] > │ let v75 : int32 = method1(v73, v74) │ 00:00:19 #1881 [Verbose] > │ let v76 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1882 [Verbose] > │ {36}" │ 00:00:19 #1883 [Verbose] > │ let v77 : UH0 = UH0_1 │ 00:00:19 #1884 [Verbose] > │ let v78 : int8 = 0y │ 00:00:19 #1885 [Verbose] > │ let v79 : int32 = method1(v77, v78) │ 00:00:19 #1886 [Verbose] > │ let v80 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1887 [Verbose] > │ {36}" │ 00:00:19 #1888 [Verbose] > │ let v81 : UH0 = UH0_1 │ 00:00:19 #1889 [Verbose] > │ let v82 : int8 = 0y │ 00:00:19 #1890 [Verbose] > │ let v83 : int32 = method1(v81, v82) │ 00:00:19 #1891 [Verbose] > │ let v84 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1892 [Verbose] > │ {36}" │ 00:00:19 #1893 [Verbose] > │ let v85 : UH0 = UH0_1 │ 00:00:19 #1894 [Verbose] > │ let v86 : int8 = 0y │ 00:00:19 #1895 [Verbose] > │ let v87 : int32 = method1(v85, v86) │ 00:00:19 #1896 [Verbose] > │ let v88 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1897 [Verbose] > │ {36}" │ 00:00:19 #1898 [Verbose] > │ let v89 : UH0 = UH0_1 │ 00:00:19 #1899 [Verbose] > │ let v90 : int8 = 0y │ 00:00:19 #1900 [Verbose] > │ let v91 : int32 = method1(v89, v90) │ 00:00:19 #1901 [Verbose] > │ let v92 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1902 [Verbose] > │ {36}" │ 00:00:19 #1903 [Verbose] > │ let v93 : UH0 = UH0_1 │ 00:00:19 #1904 [Verbose] > │ let v94 : int8 = 0y │ 00:00:19 #1905 [Verbose] > │ let v95 : int32 = method1(v93, v94) │ 00:00:19 #1906 [Verbose] > │ let v96 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1907 [Verbose] > │ {36}" │ 00:00:19 #1908 [Verbose] > │ let v97 : UH0 = UH0_1 │ 00:00:19 #1909 [Verbose] > │ let v98 : int8 = 0y │ 00:00:19 #1910 [Verbose] > │ let v99 : int32 = method1(v97, v98) │ 00:00:19 #1911 [Verbose] > │ let v100 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1912 [Verbose] > │ {36}" │ 00:00:19 #1913 [Verbose] > │ let v101 : UH0 = UH0_1 │ 00:00:19 #1914 [Verbose] > │ let v102 : int8 = 0y │ 00:00:19 #1915 [Verbose] > │ let v103 : int32 = method1(v101, v102) │ 00:00:19 #1916 [Verbose] > │ let v104 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1917 [Verbose] > │ {36}" │ 00:00:19 #1918 [Verbose] > │ let v105 : UH0 = UH0_1 │ 00:00:19 #1919 [Verbose] > │ let v106 : int8 = 0y │ 00:00:19 #1920 [Verbose] > │ let v107 : int32 = method1(v105, v106) │ 00:00:19 #1921 [Verbose] > │ let v108 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1922 [Verbose] > │ {36}" │ 00:00:19 #1923 [Verbose] > │ let v109 : UH0 = UH0_1 │ 00:00:19 #1924 [Verbose] > │ let v110 : int8 = 0y │ 00:00:19 #1925 [Verbose] > │ let v111 : int32 = method1(v109, v110) │ 00:00:19 #1926 [Verbose] > │ let v112 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1927 [Verbose] > │ {36}" │ 00:00:19 #1928 [Verbose] > │ let v113 : UH0 = UH0_1 │ 00:00:19 #1929 [Verbose] > │ let v114 : int8 = 0y │ 00:00:19 #1930 [Verbose] > │ let v115 : int32 = method1(v113, v114) │ 00:00:19 #1931 [Verbose] > │ let v116 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1932 [Verbose] > │ {36}" │ 00:00:19 #1933 [Verbose] > │ let v117 : UH0 = UH0_1 │ 00:00:19 #1934 [Verbose] > │ let v118 : int8 = 0y │ 00:00:19 #1935 [Verbose] > │ let v119 : int32 = method1(v117, v118) │ 00:00:19 #1936 [Verbose] > │ let v120 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1937 [Verbose] > │ {36}" │ 00:00:19 #1938 [Verbose] > │ let v121 : UH0 = UH0_1 │ 00:00:19 #1939 [Verbose] > │ let v122 : int8 = 0y │ 00:00:19 #1940 [Verbose] > │ let v123 : int32 = method1(v121, v122) │ 00:00:19 #1941 [Verbose] > │ let v124 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1942 [Verbose] > │ {36}" │ 00:00:19 #1943 [Verbose] > │ let v125 : UH0 = UH0_1 │ 00:00:19 #1944 [Verbose] > │ let v126 : int8 = 0y │ 00:00:19 #1945 [Verbose] > │ let v127 : int32 = method1(v125, v126) │ 00:00:19 #1946 [Verbose] > │ let v128 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1947 [Verbose] > │ {36}" │ 00:00:19 #1948 [Verbose] > │ let v129 : UH0 = UH0_1 │ 00:00:19 #1949 [Verbose] > │ let v130 : int8 = 0y │ 00:00:19 #1950 [Verbose] > │ let v131 : int32 = method1(v129, v130) │ 00:00:19 #1951 [Verbose] > │ let v132 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1952 [Verbose] > │ {36}" │ 00:00:19 #1953 [Verbose] > │ let v133 : UH0 = UH0_1 │ 00:00:19 #1954 [Verbose] > │ let v134 : int8 = 0y │ 00:00:19 #1955 [Verbose] > │ let v135 : int32 = method1(v133, v134) │ 00:00:19 #1956 [Verbose] > │ let v136 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1957 [Verbose] > │ {36}" │ 00:00:19 #1958 [Verbose] > │ let v137 : UH0 = UH0_1 │ 00:00:19 #1959 [Verbose] > │ let v138 : int8 = 0y │ 00:00:19 #1960 [Verbose] > │ let v139 : int32 = method1(v137, v138) │ 00:00:19 #1961 [Verbose] > │ let v140 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1962 [Verbose] > │ {36}" │ 00:00:19 #1963 [Verbose] > │ let v141 : UH0 = UH0_1 │ 00:00:19 #1964 [Verbose] > │ let v142 : int8 = 0y │ 00:00:19 #1965 [Verbose] > │ let v143 : int32 = method1(v141, v142) │ 00:00:19 #1966 [Verbose] > │ let v144 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1967 [Verbose] > │ {36}" │ 00:00:19 #1968 [Verbose] > │ let v145 : UH0 = UH0_1 │ 00:00:19 #1969 [Verbose] > │ let v146 : int8 = 0y │ 00:00:19 #1970 [Verbose] > │ let v147 : int32 = method1(v145, v146) │ 00:00:19 #1971 [Verbose] > │ let v148 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1972 [Verbose] > │ {36}" │ 00:00:19 #1973 [Verbose] > │ let v149 : UH0 = UH0_1 │ 00:00:19 #1974 [Verbose] > │ let v150 : int8 = 0y │ 00:00:19 #1975 [Verbose] > │ let v151 : int32 = method1(v149, v150) │ 00:00:19 #1976 [Verbose] > │ let v152 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1977 [Verbose] > │ {36}" │ 00:00:19 #1978 [Verbose] > │ let v153 : UH0 = UH0_1 │ 00:00:19 #1979 [Verbose] > │ let v154 : int8 = 0y │ 00:00:19 #1980 [Verbose] > │ let v155 : int32 = method1(v153, v154) │ 00:00:19 #1981 [Verbose] > │ let v156 : string = $"calculate_dice_count / max: {10} / n: {2y} / p: │ 00:00:19 #1982 [Verbose] > │ {36}" │ 00:00:19 #1983 [Verbose] > │ let v157 : UH0 = UH0_1 │ 00:00:19 #1984 [Verbose] > │ let v158 : int8 = 0y │ 00:00:19 #1985 [Verbose] > │ let v159 : int32 = method1(v157, v158) │ 00:00:19 #1986 [Verbose] > │ let v160 : bool = v3 = v7 │ 00:00:19 #1987 [Verbose] > │ let struct (v170 : bool, v171 : UH1) = │ 00:00:19 #1988 [Verbose] > │ if v160 then │ 00:00:19 #1989 [Verbose] > │ let v161 : UH2 = UH2_1 │ 00:00:19 #1990 [Verbose] > │ let v162 : UH2 = UH2_0(v3, v161) │ 00:00:19 #1991 [Verbose] > │ let v163 : UH2 = UH2_0(v7, v162) │ 00:00:19 #1992 [Verbose] > │ let v164 : UH1 = UH1_1 │ 00:00:19 #1993 [Verbose] > │ let v165 : UH1 = UH1_0(v3, v163, v164) │ 00:00:19 #1994 [Verbose] > │ struct (true, v165) │ 00:00:19 #1995 [Verbose] > │ else │ 00:00:19 #1996 [Verbose] > │ let v166 : UH2 = UH2_1 │ 00:00:19 #1997 [Verbose] > │ let v167 : UH2 = UH2_0(v3, v166) │ 00:00:19 #1998 [Verbose] > │ let v168 : UH1 = UH1_1 │ 00:00:19 #1999 [Verbose] > │ let v169 : UH1 = UH1_0(v3, v167, v168) │ 00:00:19 #2000 [Verbose] > │ struct (false, v169) │ 00:00:19 #2001 [Verbose] > │ let v175 : UH1 = │ 00:00:19 #2002 [Verbose] > │ if v170 then │ 00:00:19 #2003 [Verbose] > │ v171 │ 00:00:19 #2004 [Verbose] > │ else │ 00:00:19 #2005 [Verbose] > │ let v172 : UH2 = UH2_1 │ 00:00:19 #2006 [Verbose] > │ let v173 : UH2 = UH2_0(v7, v172) │ 00:00:19 #2007 [Verbose] > │ UH1_0(v7, v173, v171) │ 00:00:19 #2008 [Verbose] > │ let v176 : bool = false │ 00:00:19 #2009 [Verbose] > │ let v177 : UH1 = UH1_1 │ 00:00:19 #2010 [Verbose] > │ let struct (v178 : bool, v179 : UH1) = method5(v11, v175, v176, v177) │ 00:00:19 #2011 [Verbose] > │ let v183 : UH1 = │ 00:00:19 #2012 [Verbose] > │ if v178 then │ 00:00:19 #2013 [Verbose] > │ v179 │ 00:00:19 #2014 [Verbose] > │ else │ 00:00:19 #2015 [Verbose] > │ let v180 : UH2 = UH2_1 │ 00:00:19 #2016 [Verbose] > │ let v181 : UH2 = UH2_0(v11, v180) │ 00:00:19 #2017 [Verbose] > │ UH1_0(v11, v181, v179) │ 00:00:19 #2018 [Verbose] > │ let v184 : bool = false │ 00:00:19 #2019 [Verbose] > │ let v185 : UH1 = UH1_1 │ 00:00:19 #2020 [Verbose] > │ let struct (v186 : bool, v187 : UH1) = method5(v15, v183, v184, v185) │ 00:00:19 #2021 [Verbose] > │ let v191 : UH1 = │ 00:00:19 #2022 [Verbose] > │ if v186 then │ 00:00:19 #2023 [Verbose] > │ v187 │ 00:00:19 #2024 [Verbose] > │ else │ 00:00:19 #2025 [Verbose] > │ let v188 : UH2 = UH2_1 │ 00:00:19 #2026 [Verbose] > │ let v189 : UH2 = UH2_0(v15, v188) │ 00:00:19 #2027 [Verbose] > │ UH1_0(v15, v189, v187) │ 00:00:19 #2028 [Verbose] > │ let v192 : bool = false │ 00:00:19 #2029 [Verbose] > │ let v193 : UH1 = UH1_1 │ 00:00:19 #2030 [Verbose] > │ let struct (v194 : bool, v195 : UH1) = method5(v19, v191, v192, v193) │ 00:00:19 #2031 [Verbose] > │ let v199 : UH1 = │ 00:00:19 #2032 [Verbose] > │ if v194 then │ 00:00:19 #2033 [Verbose] > │ v195 │ 00:00:19 #2034 [Verbose] > │ else │ 00:00:19 #2035 [Verbose] > │ let v196 : UH2 = UH2_1 │ 00:00:19 #2036 [Verbose] > │ let v197 : UH2 = UH2_0(v19, v196) │ 00:00:19 #2037 [Verbose] > │ UH1_0(v19, v197, v195) │ 00:00:19 #2038 [Verbose] > │ let v200 : bool = false │ 00:00:19 #2039 [Verbose] > │ let v201 : UH1 = UH1_1 │ 00:00:19 #2040 [Verbose] > │ let struct (v202 : bool, v203 : UH1) = method5(v23, v199, v200, v201) │ 00:00:19 #2041 [Verbose] > │ let v207 : UH1 = │ 00:00:19 #2042 [Verbose] > │ if v202 then │ 00:00:19 #2043 [Verbose] > │ v203 │ 00:00:19 #2044 [Verbose] > │ else │ 00:00:19 #2045 [Verbose] > │ let v204 : UH2 = UH2_1 │ 00:00:19 #2046 [Verbose] > │ let v205 : UH2 = UH2_0(v23, v204) │ 00:00:19 #2047 [Verbose] > │ UH1_0(v23, v205, v203) │ 00:00:19 #2048 [Verbose] > │ let v208 : bool = false │ 00:00:19 #2049 [Verbose] > │ let v209 : UH1 = UH1_1 │ 00:00:19 #2050 [Verbose] > │ let struct (v210 : bool, v211 : UH1) = method5(v27, v207, v208, v209) │ 00:00:19 #2051 [Verbose] > │ let v215 : UH1 = │ 00:00:19 #2052 [Verbose] > │ if v210 then │ 00:00:19 #2053 [Verbose] > │ v211 │ 00:00:19 #2054 [Verbose] > │ else │ 00:00:19 #2055 [Verbose] > │ let v212 : UH2 = UH2_1 │ 00:00:19 #2056 [Verbose] > │ let v213 : UH2 = UH2_0(v27, v212) │ 00:00:19 #2057 [Verbose] > │ UH1_0(v27, v213, v211) │ 00:00:19 #2058 [Verbose] > │ let v216 : bool = false │ 00:00:19 #2059 [Verbose] > │ let v217 : UH1 = UH1_1 │ 00:00:19 #2060 [Verbose] > │ let struct (v218 : bool, v219 : UH1) = method5(v31, v215, v216, v217) │ 00:00:19 #2061 [Verbose] > │ let v223 : UH1 = │ 00:00:19 #2062 [Verbose] > │ if v218 then │ 00:00:19 #2063 [Verbose] > │ v219 │ 00:00:19 #2064 [Verbose] > │ else │ 00:00:19 #2065 [Verbose] > │ let v220 : UH2 = UH2_1 │ 00:00:19 #2066 [Verbose] > │ let v221 : UH2 = UH2_0(v31, v220) │ 00:00:19 #2067 [Verbose] > │ UH1_0(v31, v221, v219) │ 00:00:19 #2068 [Verbose] > │ let v224 : bool = false │ 00:00:19 #2069 [Verbose] > │ let v225 : UH1 = UH1_1 │ 00:00:19 #2070 [Verbose] > │ let struct (v226 : bool, v227 : UH1) = method5(v35, v223, v224, v225) │ 00:00:19 #2071 [Verbose] > │ let v231 : UH1 = │ 00:00:19 #2072 [Verbose] > │ if v226 then │ 00:00:19 #2073 [Verbose] > │ v227 │ 00:00:19 #2074 [Verbose] > │ else │ 00:00:19 #2075 [Verbose] > │ let v228 : UH2 = UH2_1 │ 00:00:19 #2076 [Verbose] > │ let v229 : UH2 = UH2_0(v35, v228) │ 00:00:19 #2077 [Verbose] > │ UH1_0(v35, v229, v227) │ 00:00:19 #2078 [Verbose] > │ let v232 : bool = false │ 00:00:19 #2079 [Verbose] > │ let v233 : UH1 = UH1_1 │ 00:00:19 #2080 [Verbose] > │ let struct (v234 : bool, v235 : UH1) = method5(v39, v231, v232, v233) │ 00:00:19 #2081 [Verbose] > │ let v239 : UH1 = │ 00:00:19 #2082 [Verbose] > │ if v234 then │ 00:00:19 #2083 [Verbose] > │ v235 │ 00:00:19 #2084 [Verbose] > │ else │ 00:00:19 #2085 [Verbose] > │ let v236 : UH2 = UH2_1 │ 00:00:19 #2086 [Verbose] > │ let v237 : UH2 = UH2_0(v39, v236) │ 00:00:19 #2087 [Verbose] > │ UH1_0(v39, v237, v235) │ 00:00:19 #2088 [Verbose] > │ let v240 : bool = false │ 00:00:19 #2089 [Verbose] > │ let v241 : UH1 = UH1_1 │ 00:00:19 #2090 [Verbose] > │ let struct (v242 : bool, v243 : UH1) = method5(v43, v239, v240, v241) │ 00:00:19 #2091 [Verbose] > │ let v247 : UH1 = │ 00:00:19 #2092 [Verbose] > │ if v242 then │ 00:00:19 #2093 [Verbose] > │ v243 │ 00:00:19 #2094 [Verbose] > │ else │ 00:00:19 #2095 [Verbose] > │ let v244 : UH2 = UH2_1 │ 00:00:19 #2096 [Verbose] > │ let v245 : UH2 = UH2_0(v43, v244) │ 00:00:19 #2097 [Verbose] > │ UH1_0(v43, v245, v243) │ 00:00:19 #2098 [Verbose] > │ let v248 : bool = false │ 00:00:19 #2099 [Verbose] > │ let v249 : UH1 = UH1_1 │ 00:00:19 #2100 [Verbose] > │ let struct (v250 : bool, v251 : UH1) = method5(v47, v247, v248, v249) │ 00:00:19 #2101 [Verbose] > │ let v255 : UH1 = │ 00:00:19 #2102 [Verbose] > │ if v250 then │ 00:00:19 #2103 [Verbose] > │ v251 │ 00:00:19 #2104 [Verbose] > │ else │ 00:00:19 #2105 [Verbose] > │ let v252 : UH2 = UH2_1 │ 00:00:19 #2106 [Verbose] > │ let v253 : UH2 = UH2_0(v47, v252) │ 00:00:19 #2107 [Verbose] > │ UH1_0(v47, v253, v251) │ 00:00:19 #2108 [Verbose] > │ let v256 : bool = false │ 00:00:19 #2109 [Verbose] > │ let v257 : UH1 = UH1_1 │ 00:00:19 #2110 [Verbose] > │ let struct (v258 : bool, v259 : UH1) = method5(v51, v255, v256, v257) │ 00:00:19 #2111 [Verbose] > │ let v263 : UH1 = │ 00:00:19 #2112 [Verbose] > │ if v258 then │ 00:00:19 #2113 [Verbose] > │ v259 │ 00:00:19 #2114 [Verbose] > │ else │ 00:00:19 #2115 [Verbose] > │ let v260 : UH2 = UH2_1 │ 00:00:19 #2116 [Verbose] > │ let v261 : UH2 = UH2_0(v51, v260) │ 00:00:19 #2117 [Verbose] > │ UH1_0(v51, v261, v259) │ 00:00:19 #2118 [Verbose] > │ let v264 : bool = false │ 00:00:19 #2119 [Verbose] > │ let v265 : UH1 = UH1_1 │ 00:00:19 #2120 [Verbose] > │ let struct (v266 : bool, v267 : UH1) = method5(v55, v263, v264, v265) │ 00:00:19 #2121 [Verbose] > │ let v271 : UH1 = │ 00:00:19 #2122 [Verbose] > │ if v266 then │ 00:00:19 #2123 [Verbose] > │ v267 │ 00:00:19 #2124 [Verbose] > │ else │ 00:00:19 #2125 [Verbose] > │ let v268 : UH2 = UH2_1 │ 00:00:19 #2126 [Verbose] > │ let v269 : UH2 = UH2_0(v55, v268) │ 00:00:19 #2127 [Verbose] > │ UH1_0(v55, v269, v267) │ 00:00:19 #2128 [Verbose] > │ let v272 : bool = false │ 00:00:19 #2129 [Verbose] > │ let v273 : UH1 = UH1_1 │ 00:00:19 #2130 [Verbose] > │ let struct (v274 : bool, v275 : UH1) = method5(v59, v271, v272, v273) │ 00:00:19 #2131 [Verbose] > │ let v279 : UH1 = │ 00:00:19 #2132 [Verbose] > │ if v274 then │ 00:00:19 #2133 [Verbose] > │ v275 │ 00:00:19 #2134 [Verbose] > │ else │ 00:00:19 #2135 [Verbose] > │ let v276 : UH2 = UH2_1 │ 00:00:19 #2136 [Verbose] > │ let v277 : UH2 = UH2_0(v59, v276) │ 00:00:19 #2137 [Verbose] > │ UH1_0(v59, v277, v275) │ 00:00:19 #2138 [Verbose] > │ let v280 : bool = false │ 00:00:19 #2139 [Verbose] > │ let v281 : UH1 = UH1_1 │ 00:00:19 #2140 [Verbose] > │ let struct (v282 : bool, v283 : UH1) = method5(v63, v279, v280, v281) │ 00:00:19 #2141 [Verbose] > │ let v287 : UH1 = │ 00:00:19 #2142 [Verbose] > │ if v282 then │ 00:00:19 #2143 [Verbose] > │ v283 │ 00:00:19 #2144 [Verbose] > │ else │ 00:00:19 #2145 [Verbose] > │ let v284 : UH2 = UH2_1 │ 00:00:19 #2146 [Verbose] > │ let v285 : UH2 = UH2_0(v63, v284) │ 00:00:19 #2147 [Verbose] > │ UH1_0(v63, v285, v283) │ 00:00:19 #2148 [Verbose] > │ let v288 : bool = false │ 00:00:19 #2149 [Verbose] > │ let v289 : UH1 = UH1_1 │ 00:00:19 #2150 [Verbose] > │ let struct (v290 : bool, v291 : UH1) = method5(v67, v287, v288, v289) │ 00:00:19 #2151 [Verbose] > │ let v295 : UH1 = │ 00:00:19 #2152 [Verbose] > │ if v290 then │ 00:00:19 #2153 [Verbose] > │ v291 │ 00:00:19 #2154 [Verbose] > │ else │ 00:00:19 #2155 [Verbose] > │ let v292 : UH2 = UH2_1 │ 00:00:19 #2156 [Verbose] > │ let v293 : UH2 = UH2_0(v67, v292) │ 00:00:19 #2157 [Verbose] > │ UH1_0(v67, v293, v291) │ 00:00:19 #2158 [Verbose] > │ let v296 : bool = false │ 00:00:19 #2159 [Verbose] > │ let v297 : UH1 = UH1_1 │ 00:00:19 #2160 [Verbose] > │ let struct (v298 : bool, v299 : UH1) = method5(v71, v295, v296, v297) │ 00:00:19 #2161 [Verbose] > │ let v303 : UH1 = │ 00:00:19 #2162 [Verbose] > │ if v298 then │ 00:00:19 #2163 [Verbose] > │ v299 │ 00:00:19 #2164 [Verbose] > │ else │ 00:00:19 #2165 [Verbose] > │ let v300 : UH2 = UH2_1 │ 00:00:19 #2166 [Verbose] > │ let v301 : UH2 = UH2_0(v71, v300) │ 00:00:19 #2167 [Verbose] > │ UH1_0(v71, v301, v299) │ 00:00:19 #2168 [Verbose] > │ let v304 : bool = false │ 00:00:19 #2169 [Verbose] > │ let v305 : UH1 = UH1_1 │ 00:00:19 #2170 [Verbose] > │ let struct (v306 : bool, v307 : UH1) = method5(v75, v303, v304, v305) │ 00:00:19 #2171 [Verbose] > │ let v311 : UH1 = │ 00:00:19 #2172 [Verbose] > │ if v306 then │ 00:00:19 #2173 [Verbose] > │ v307 │ 00:00:19 #2174 [Verbose] > │ else │ 00:00:19 #2175 [Verbose] > │ let v308 : UH2 = UH2_1 │ 00:00:19 #2176 [Verbose] > │ let v309 : UH2 = UH2_0(v75, v308) │ 00:00:19 #2177 [Verbose] > │ UH1_0(v75, v309, v307) │ 00:00:19 #2178 [Verbose] > │ let v312 : bool = false │ 00:00:19 #2179 [Verbose] > │ let v313 : UH1 = UH1_1 │ 00:00:19 #2180 [Verbose] > │ let struct (v314 : bool, v315 : UH1) = method5(v79, v311, v312, v313) │ 00:00:19 #2181 [Verbose] > │ let v319 : UH1 = │ 00:00:19 #2182 [Verbose] > │ if v314 then │ 00:00:19 #2183 [Verbose] > │ v315 │ 00:00:19 #2184 [Verbose] > │ else │ 00:00:19 #2185 [Verbose] > │ let v316 : UH2 = UH2_1 │ 00:00:19 #2186 [Verbose] > │ let v317 : UH2 = UH2_0(v79, v316) │ 00:00:19 #2187 [Verbose] > │ UH1_0(v79, v317, v315) │ 00:00:19 #2188 [Verbose] > │ let v320 : bool = false │ 00:00:19 #2189 [Verbose] > │ let v321 : UH1 = UH1_1 │ 00:00:19 #2190 [Verbose] > │ let struct (v322 : bool, v323 : UH1) = method5(v83, v319, v320, v321) │ 00:00:19 #2191 [Verbose] > │ let v327 : UH1 = │ 00:00:19 #2192 [Verbose] > │ if v322 then │ 00:00:19 #2193 [Verbose] > │ v323 │ 00:00:19 #2194 [Verbose] > │ else │ 00:00:19 #2195 [Verbose] > │ let v324 : UH2 = UH2_1 │ 00:00:19 #2196 [Verbose] > │ let v325 : UH2 = UH2_0(v83, v324) │ 00:00:19 #2197 [Verbose] > │ UH1_0(v83, v325, v323) │ 00:00:19 #2198 [Verbose] > │ let v328 : bool = false │ 00:00:19 #2199 [Verbose] > │ let v329 : UH1 = UH1_1 │ 00:00:19 #2200 [Verbose] > │ let struct (v330 : bool, v331 : UH1) = method5(v87, v327, v328, v329) │ 00:00:19 #2201 [Verbose] > │ let v335 : UH1 = │ 00:00:19 #2202 [Verbose] > │ if v330 then │ 00:00:19 #2203 [Verbose] > │ v331 │ 00:00:19 #2204 [Verbose] > │ else │ 00:00:19 #2205 [Verbose] > │ let v332 : UH2 = UH2_1 │ 00:00:19 #2206 [Verbose] > │ let v333 : UH2 = UH2_0(v87, v332) │ 00:00:19 #2207 [Verbose] > │ UH1_0(v87, v333, v331) │ 00:00:19 #2208 [Verbose] > │ let v336 : bool = false │ 00:00:19 #2209 [Verbose] > │ let v337 : UH1 = UH1_1 │ 00:00:19 #2210 [Verbose] > │ let struct (v338 : bool, v339 : UH1) = method5(v91, v335, v336, v337) │ 00:00:19 #2211 [Verbose] > │ let v343 : UH1 = │ 00:00:19 #2212 [Verbose] > │ if v338 then │ 00:00:19 #2213 [Verbose] > │ v339 │ 00:00:19 #2214 [Verbose] > │ else │ 00:00:19 #2215 [Verbose] > │ let v340 : UH2 = UH2_1 │ 00:00:19 #2216 [Verbose] > │ let v341 : UH2 = UH2_0(v91, v340) │ 00:00:19 #2217 [Verbose] > │ UH1_0(v91, v341, v339) │ 00:00:19 #2218 [Verbose] > │ let v344 : bool = false │ 00:00:19 #2219 [Verbose] > │ let v345 : UH1 = UH1_1 │ 00:00:19 #2220 [Verbose] > │ let struct (v346 : bool, v347 : UH1) = method5(v95, v343, v344, v345) │ 00:00:19 #2221 [Verbose] > │ let v351 : UH1 = │ 00:00:19 #2222 [Verbose] > │ if v346 then │ 00:00:19 #2223 [Verbose] > │ v347 │ 00:00:19 #2224 [Verbose] > │ else │ 00:00:19 #2225 [Verbose] > │ let v348 : UH2 = UH2_1 │ 00:00:19 #2226 [Verbose] > │ let v349 : UH2 = UH2_0(v95, v348) │ 00:00:19 #2227 [Verbose] > │ UH1_0(v95, v349, v347) │ 00:00:19 #2228 [Verbose] > │ let v352 : bool = false │ 00:00:19 #2229 [Verbose] > │ let v353 : UH1 = UH1_1 │ 00:00:19 #2230 [Verbose] > │ let struct (v354 : bool, v355 : UH1) = method5(v99, v351, v352, v353) │ 00:00:19 #2231 [Verbose] > │ let v359 : UH1 = │ 00:00:19 #2232 [Verbose] > │ if v354 then │ 00:00:19 #2233 [Verbose] > │ v355 │ 00:00:19 #2234 [Verbose] > │ else │ 00:00:19 #2235 [Verbose] > │ let v356 : UH2 = UH2_1 │ 00:00:19 #2236 [Verbose] > │ let v357 : UH2 = UH2_0(v99, v356) │ 00:00:19 #2237 [Verbose] > │ UH1_0(v99, v357, v355) │ 00:00:19 #2238 [Verbose] > │ let v360 : bool = false │ 00:00:19 #2239 [Verbose] > │ let v361 : UH1 = UH1_1 │ 00:00:19 #2240 [Verbose] > │ let struct (v362 : bool, v363 : UH1) = method5(v103, v359, v360, v361) │ 00:00:19 #2241 [Verbose] > │ let v367 : UH1 = │ 00:00:19 #2242 [Verbose] > │ if v362 then │ 00:00:19 #2243 [Verbose] > │ v363 │ 00:00:19 #2244 [Verbose] > │ else │ 00:00:19 #2245 [Verbose] > │ let v364 : UH2 = UH2_1 │ 00:00:19 #2246 [Verbose] > │ let v365 : UH2 = UH2_0(v103, v364) │ 00:00:19 #2247 [Verbose] > │ UH1_0(v103, v365, v363) │ 00:00:19 #2248 [Verbose] > │ let v368 : bool = false │ 00:00:19 #2249 [Verbose] > │ let v369 : UH1 = UH1_1 │ 00:00:19 #2250 [Verbose] > │ let struct (v370 : bool, v371 : UH1) = method5(v107, v367, v368, v369) │ 00:00:19 #2251 [Verbose] > │ let v375 : UH1 = │ 00:00:19 #2252 [Verbose] > │ if v370 then │ 00:00:19 #2253 [Verbose] > │ v371 │ 00:00:19 #2254 [Verbose] > │ else │ 00:00:19 #2255 [Verbose] > │ let v372 : UH2 = UH2_1 │ 00:00:19 #2256 [Verbose] > │ let v373 : UH2 = UH2_0(v107, v372) │ 00:00:19 #2257 [Verbose] > │ UH1_0(v107, v373, v371) │ 00:00:19 #2258 [Verbose] > │ let v376 : bool = false │ 00:00:19 #2259 [Verbose] > │ let v377 : UH1 = UH1_1 │ 00:00:19 #2260 [Verbose] > │ let struct (v378 : bool, v379 : UH1) = method5(v111, v375, v376, v377) │ 00:00:19 #2261 [Verbose] > │ let v383 : UH1 = │ 00:00:19 #2262 [Verbose] > │ if v378 then │ 00:00:20 #2263 [Verbose] > │ v379 │ 00:00:20 #2264 [Verbose] > │ else │ 00:00:20 #2265 [Verbose] > │ let v380 : UH2 = UH2_1 │ 00:00:20 #2266 [Verbose] > │ let v381 : UH2 = UH2_0(v111, v380) │ 00:00:20 #2267 [Verbose] > │ UH1_0(v111, v381, v379) │ 00:00:20 #2268 [Verbose] > │ let v384 : bool = false │ 00:00:20 #2269 [Verbose] > │ let v385 : UH1 = UH1_1 │ 00:00:20 #2270 [Verbose] > │ let struct (v386 : bool, v387 : UH1) = method5(v115, v383, v384, v385) │ 00:00:20 #2271 [Verbose] > │ let v391 : UH1 = │ 00:00:20 #2272 [Verbose] > │ if v386 then │ 00:00:20 #2273 [Verbose] > │ v387 │ 00:00:20 #2274 [Verbose] > │ else │ 00:00:20 #2275 [Verbose] > │ let v388 : UH2 = UH2_1 │ 00:00:20 #2276 [Verbose] > │ let v389 : UH2 = UH2_0(v115, v388) │ 00:00:20 #2277 [Verbose] > │ UH1_0(v115, v389, v387) │ 00:00:20 #2278 [Verbose] > │ let v392 : bool = false │ 00:00:20 #2279 [Verbose] > │ let v393 : UH1 = UH1_1 │ 00:00:20 #2280 [Verbose] > │ let struct (v394 : bool, v395 : UH1) = method5(v119, v391, v392, v393) │ 00:00:20 #2281 [Verbose] > │ let v399 : UH1 = │ 00:00:20 #2282 [Verbose] > │ if v394 then │ 00:00:20 #2283 [Verbose] > │ v395 │ 00:00:20 #2284 [Verbose] > │ else │ 00:00:20 #2285 [Verbose] > │ let v396 : UH2 = UH2_1 │ 00:00:20 #2286 [Verbose] > │ let v397 : UH2 = UH2_0(v119, v396) │ 00:00:20 #2287 [Verbose] > │ UH1_0(v119, v397, v395) │ 00:00:20 #2288 [Verbose] > │ let v400 : bool = false │ 00:00:20 #2289 [Verbose] > │ let v401 : UH1 = UH1_1 │ 00:00:20 #2290 [Verbose] > │ let struct (v402 : bool, v403 : UH1) = method5(v123, v399, v400, v401) │ 00:00:20 #2291 [Verbose] > │ let v407 : UH1 = │ 00:00:20 #2292 [Verbose] > │ if v402 then │ 00:00:20 #2293 [Verbose] > │ v403 │ 00:00:20 #2294 [Verbose] > │ else │ 00:00:20 #2295 [Verbose] > │ let v404 : UH2 = UH2_1 │ 00:00:20 #2296 [Verbose] > │ let v405 : UH2 = UH2_0(v123, v404) │ 00:00:20 #2297 [Verbose] > │ UH1_0(v123, v405, v403) │ 00:00:20 #2298 [Verbose] > │ let v408 : bool = false │ 00:00:20 #2299 [Verbose] > │ let v409 : UH1 = UH1_1 │ 00:00:20 #2300 [Verbose] > │ let struct (v410 : bool, v411 : UH1) = method5(v127, v407, v408, v409) │ 00:00:20 #2301 [Verbose] > │ let v415 : UH1 = │ 00:00:20 #2302 [Verbose] > │ if v410 then │ 00:00:20 #2303 [Verbose] > │ v411 │ 00:00:20 #2304 [Verbose] > │ else │ 00:00:20 #2305 [Verbose] > │ let v412 : UH2 = UH2_1 │ 00:00:20 #2306 [Verbose] > │ let v413 : UH2 = UH2_0(v127, v412) │ 00:00:20 #2307 [Verbose] > │ UH1_0(v127, v413, v411) │ 00:00:20 #2308 [Verbose] > │ let v416 : bool = false │ 00:00:20 #2309 [Verbose] > │ let v417 : UH1 = UH1_1 │ 00:00:20 #2310 [Verbose] > │ let struct (v418 : bool, v419 : UH1) = method5(v131, v415, v416, v417) │ 00:00:20 #2311 [Verbose] > │ let v423 : UH1 = │ 00:00:20 #2312 [Verbose] > │ if v418 then │ 00:00:20 #2313 [Verbose] > │ v419 │ 00:00:20 #2314 [Verbose] > │ else │ 00:00:20 #2315 [Verbose] > │ let v420 : UH2 = UH2_1 │ 00:00:20 #2316 [Verbose] > │ let v421 : UH2 = UH2_0(v131, v420) │ 00:00:20 #2317 [Verbose] > │ UH1_0(v131, v421, v419) │ 00:00:20 #2318 [Verbose] > │ let v424 : bool = false │ 00:00:20 #2319 [Verbose] > │ let v425 : UH1 = UH1_1 │ 00:00:20 #2320 [Verbose] > │ let struct (v426 : bool, v427 : UH1) = method5(v135, v423, v424, v425) │ 00:00:20 #2321 [Verbose] > │ let v431 : UH1 = │ 00:00:20 #2322 [Verbose] > │ if v426 then │ 00:00:20 #2323 [Verbose] > │ v427 │ 00:00:20 #2324 [Verbose] > │ else │ 00:00:20 #2325 [Verbose] > │ let v428 : UH2 = UH2_1 │ 00:00:20 #2326 [Verbose] > │ let v429 : UH2 = UH2_0(v135, v428) │ 00:00:20 #2327 [Verbose] > │ UH1_0(v135, v429, v427) │ 00:00:20 #2328 [Verbose] > │ let v432 : bool = false │ 00:00:20 #2329 [Verbose] > │ let v433 : UH1 = UH1_1 │ 00:00:20 #2330 [Verbose] > │ let struct (v434 : bool, v435 : UH1) = method5(v139, v431, v432, v433) │ 00:00:20 #2331 [Verbose] > │ let v439 : UH1 = │ 00:00:20 #2332 [Verbose] > │ if v434 then │ 00:00:20 #2333 [Verbose] > │ v435 │ 00:00:20 #2334 [Verbose] > │ else │ 00:00:20 #2335 [Verbose] > │ let v436 : UH2 = UH2_1 │ 00:00:20 #2336 [Verbose] > │ let v437 : UH2 = UH2_0(v139, v436) │ 00:00:20 #2337 [Verbose] > │ UH1_0(v139, v437, v435) │ 00:00:20 #2338 [Verbose] > │ let v440 : bool = false │ 00:00:20 #2339 [Verbose] > │ let v441 : UH1 = UH1_1 │ 00:00:20 #2340 [Verbose] > │ let struct (v442 : bool, v443 : UH1) = method5(v143, v439, v440, v441) │ 00:00:20 #2341 [Verbose] > │ let v447 : UH1 = │ 00:00:20 #2342 [Verbose] > │ if v442 then │ 00:00:20 #2343 [Verbose] > │ v443 │ 00:00:20 #2344 [Verbose] > │ else │ 00:00:20 #2345 [Verbose] > │ let v444 : UH2 = UH2_1 │ 00:00:20 #2346 [Verbose] > │ let v445 : UH2 = UH2_0(v143, v444) │ 00:00:20 #2347 [Verbose] > │ UH1_0(v143, v445, v443) │ 00:00:20 #2348 [Verbose] > │ let v448 : bool = false │ 00:00:20 #2349 [Verbose] > │ let v449 : UH1 = UH1_1 │ 00:00:20 #2350 [Verbose] > │ let struct (v450 : bool, v451 : UH1) = method5(v147, v447, v448, v449) │ 00:00:20 #2351 [Verbose] > │ let v455 : UH1 = │ 00:00:20 #2352 [Verbose] > │ if v450 then │ 00:00:20 #2353 [Verbose] > │ v451 │ 00:00:20 #2354 [Verbose] > │ else │ 00:00:20 #2355 [Verbose] > │ let v452 : UH2 = UH2_1 │ 00:00:20 #2356 [Verbose] > │ let v453 : UH2 = UH2_0(v147, v452) │ 00:00:20 #2357 [Verbose] > │ UH1_0(v147, v453, v451) │ 00:00:20 #2358 [Verbose] > │ let v456 : bool = false │ 00:00:20 #2359 [Verbose] > │ let v457 : UH1 = UH1_1 │ 00:00:20 #2360 [Verbose] > │ let struct (v458 : bool, v459 : UH1) = method5(v151, v455, v456, v457) │ 00:00:20 #2361 [Verbose] > │ let v463 : UH1 = │ 00:00:20 #2362 [Verbose] > │ if v458 then │ 00:00:20 #2363 [Verbose] > │ v459 │ 00:00:20 #2364 [Verbose] > │ else │ 00:00:20 #2365 [Verbose] > │ let v460 : UH2 = UH2_1 │ 00:00:20 #2366 [Verbose] > │ let v461 : UH2 = UH2_0(v151, v460) │ 00:00:20 #2367 [Verbose] > │ UH1_0(v151, v461, v459) │ 00:00:20 #2368 [Verbose] > │ let v464 : bool = false │ 00:00:20 #2369 [Verbose] > │ let v465 : UH1 = UH1_1 │ 00:00:20 #2370 [Verbose] > │ let struct (v466 : bool, v467 : UH1) = method5(v155, v463, v464, v465) │ 00:00:20 #2371 [Verbose] > │ let v471 : UH1 = │ 00:00:20 #2372 [Verbose] > │ if v466 then │ 00:00:20 #2373 [Verbose] > │ v467 │ 00:00:20 #2374 [Verbose] > │ else │ 00:00:20 #2375 [Verbose] > │ let v468 : UH2 = UH2_1 │ 00:00:20 #2376 [Verbose] > │ let v469 : UH2 = UH2_0(v155, v468) │ 00:00:20 #2377 [Verbose] > │ UH1_0(v155, v469, v467) │ 00:00:20 #2378 [Verbose] > │ let v472 : bool = false │ 00:00:20 #2379 [Verbose] > │ let v473 : UH1 = UH1_1 │ 00:00:20 #2380 [Verbose] > │ let struct (v474 : bool, v475 : UH1) = method5(v159, v471, v472, v473) │ 00:00:20 #2381 [Verbose] > │ let v479 : UH1 = │ 00:00:20 #2382 [Verbose] > │ if v474 then │ 00:00:20 #2383 [Verbose] > │ v475 │ 00:00:20 #2384 [Verbose] > │ else │ 00:00:20 #2385 [Verbose] > │ let v476 : UH2 = UH2_1 │ 00:00:20 #2386 [Verbose] > │ let v477 : UH2 = UH2_0(v159, v476) │ 00:00:20 #2387 [Verbose] > │ UH1_0(v159, v477, v475) │ 00:00:20 #2388 [Verbose] > │ let v480 : UH3 = UH3_1 │ 00:00:20 #2389 [Verbose] > │ let v481 : UH3 = method6(v479, v480) │ 00:00:20 #2390 [Verbose] > │ let v482 : (struct (int32 * int32) []) = method8(v481) │ 00:00:20 #2391 [Verbose] > │ let v483 : (struct (int32 * int32) []) = v482 |> Array.sortBy (fun │ 00:00:20 #2392 [Verbose] > │ (struct (a, b)) -> a) │ 00:00:20 #2393 [Verbose] > │ v483 │ 00:00:20 #2394 [Verbose] > │ method0() │ 00:00:20 #2395 [Verbose] > │ │ 00:00:20 #2396 [Verbose] > │ │ 00:00:20 #2397 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 #2398 [Verbose] > 00:00:20 #2399 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 #2400 [Verbose] > // // test 00:00:20 #2401 [Verbose] > // // print_code=false 00:00:20 #2402 [Verbose] > 00:00:20 #2403 [Verbose] > listm'.init_series 1i32 40 1 00:00:20 #2404 [Verbose] > |> listm.map (fun _ => roll_progressively None roll_dice true 10i32) 00:00:20 #2405 [Verbose] > |> listm'.group_by id 00:00:20 #2406 [Verbose] > |> listm.map (fun (k, v) => k, (listm.length v : i32)) 00:00:20 #2407 [Verbose] > |> listm.toArray 00:00:20 #2408 [Verbose] > |> fun (ar : a i32 _) => 00:00:20 #2409 [Verbose] > $"!ar |> Array.sortBy (fun (struct (a, b)) -> a)" : a i32 $"struct (int32 * 00:00:20 #2410 [Verbose] > int32)" 00:00:20 #2411 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5754-5447-50819481851f\main.spi 00:00:20 #2412 [Verbose] > 00:00:20 #2413 [Verbose] > ╭─[ 748.07ms - return value ]──────────────────────────────────────────────────╮ 00:00:20 #2414 [Verbose] > │ <table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr │ 00:00:20 #2415 [Verbose] > │ ><td>0</td><td><details class="dni-treeview"><summary><span │ 00:00:20 #2416 [Verbose] > │ class="dni-code-hint"><code>(1, │ 00:00:20 #2417 [Verbose] > │ 1)</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ 00:00:20 #2418 [Verbose] > │ >Item1</td><td><div │ 00:00:20 #2419 [Verbose] > │ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>Item2</td><td><div │ 00:00:20 #2420 [Verbose] > │ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │ 00:00:20 #2421 [Verbose] > │ tails></td></tr><tr><td>1</td><td><details │ 00:00:20 #2422 [Verbose] > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>(2, │ 00:00:20 #2423 [Verbose] > │ 4)</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ 00:00:20 #2424 [Verbose] > │ >Item1</td><td><div │ 00:00:20 #2425 [Verbose] > │ class="dni-plaintext"><pre>2</pre></div></td></tr><tr><td>Item2</td><td><div │ 00:00:20 #2426 [Verbose] > │ class="dni-plaintext"><pre>4</pre></div></td></tr... │ 00:00:20 #2427 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 #2428 [Verbose] > 00:00:20 #2429 [Verbose] > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 #2430 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 #2431 [Verbose] > │ ## main │ 00:00:20 #2432 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 #2433 [Verbose] > 00:00:20 #2434 [Verbose] > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 #2435 [Verbose] > inl main (_args : array string) = 00:00:20 #2436 [Verbose] > inl result = roll_progressively (Some console.write_line) roll_dice true 00:00:20 #2437 [Verbose] > (limit.max : i64) 00:00:20 #2438 [Verbose] > console.write_line ($"$\"result: {!result}\"" : string) 00:00:20 #2439 [Verbose] > 0i32 00:00:20 #2440 [Verbose] > 00:00:20 #2441 [Verbose] > inl main () = 00:00:20 #2442 [Verbose] > inl rotate_numbers' : i64 -> stream.stream u8 -> stream.stream u8 = 00:00:20 #2443 [Verbose] > rotate_numbers 00:00:20 #2444 [Verbose] > 00:00:20 #2445 [Verbose] > inl create_sequential_roller' : (list u8 -> () -> u8) = 00:00:20 #2446 [Verbose] > create_sequential_roller 00:00:20 #2447 [Verbose] > 00:00:20 #2448 [Verbose] > inl roll_progressively' : 00:00:20 #2449 [Verbose] > (optionm'.option_fsharp (string -> ()) -> (() -> u8) 00:00:20 #2450 [Verbose] > -> bool 00:00:20 #2451 [Verbose] > -> u64 00:00:20 #2452 [Verbose] > -> u64) 00:00:20 #2453 [Verbose] > = 00:00:20 #2454 [Verbose] > optionm'.from_fsharp >> roll_progressively 00:00:20 #2455 [Verbose] > 00:00:20 #2456 [Verbose] > inl roll_within_bounds' : 00:00:20 #2457 [Verbose] > optionm'.option_fsharp (string -> ()) 00:00:20 #2458 [Verbose] > -> u64 00:00:20 #2459 [Verbose] > -> list u8 00:00:20 #2460 [Verbose] > -> optionm'.option_fsharp u64 00:00:20 #2461 [Verbose] > = 00:00:20 #2462 [Verbose] > fun a b c => 00:00:20 #2463 [Verbose] > (optionm'.from_fsharp >> roll_within_bounds) a b c 00:00:20 #2464 [Verbose] > |> optionm'.to_fsharp 00:00:20 #2465 [Verbose] > 00:00:20 #2466 [Verbose] > $"let rotate_numbers x = !rotate_numbers' x" : () 00:00:20 #2467 [Verbose] > $"let create_sequential_roller x = !create_sequential_roller' x" : () 00:00:20 #2468 [Verbose] > $"let roll_progressively x = !roll_progressively' x" : () 00:00:20 #2469 [Verbose] > $"let roll_within_bounds x = !roll_within_bounds' x" : () 00:00:20 #2470 [Verbose] > $"let main args = !main args" : () 00:00:20 #2471 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0124-5830-3009-3b08165e78b6\main.spi 00:00:22 #2472 [Verbose] > 00:00:22 #2473 [Verbose] > ╭─[ 1.58s - stdout ]───────────────────────────────────────────────────────────╮ 00:00:22 #2474 [Verbose] > │ type UH0 = │ 00:00:22 #2475 [Verbose] > │ | UH0_0 of uint8 * (unit -> UH0) │ 00:00:22 #2476 [Verbose] > │ | UH0_1 │ 00:00:22 #2477 [Verbose] > │ and UH1 = │ 00:00:22 #2478 [Verbose] > │ | UH1_0 of uint8 * UH1 │ 00:00:22 #2479 [Verbose] > │ | UH1_1 │ 00:00:22 #2480 [Verbose] > │ and [<Struct>] US0 = │ 00:00:22 #2481 [Verbose] > │ | US0_0 of f0_0 : UH0 │ 00:00:22 #2482 [Verbose] > │ | US0_1 of f1_0 : (unit -> UH0) │ 00:00:22 #2483 [Verbose] > │ and Mut0 = {mutable l0 : US0} │ 00:00:22 #2484 [Verbose] > │ and Mut1 = {mutable l0 : int64} │ 00:00:22 #2485 [Verbose] > │ and [<Struct>] US1 = │ 00:00:22 #2486 [Verbose] > │ | US1_0 │ 00:00:22 #2487 [Verbose] > │ | US1_1 of f1_0 : uint8 │ 00:00:22 #2488 [Verbose] > │ and [<Struct>] US2 = │ 00:00:22 #2489 [Verbose] > │ | US2_0 │ 00:00:22 #2490 [Verbose] > │ | US2_1 of f1_0 : (string -> unit) │ 00:00:22 #2491 [Verbose] > │ and [<Struct>] US3 = │ 00:00:22 #2492 [Verbose] > │ | US3_0 │ 00:00:22 #2493 [Verbose] > │ | US3_1 of f1_0 : uint64 * f1_1 : UH1 │ 00:00:22 #2494 [Verbose] > │ and UH2 = │ 00:00:22 #2495 [Verbose] > │ | UH2_0 of uint64 * (unit -> UH2) │ 00:00:22 #2496 [Verbose] > │ | UH2_1 │ 00:00:22 #2497 [Verbose] > │ and [<Struct>] US4 = │ 00:00:22 #2498 [Verbose] > │ | US4_0 │ 00:00:22 #2499 [Verbose] > │ | US4_1 of f1_0 : uint64 │ 00:00:22 #2500 [Verbose] > │ and [<Struct>] US5 = │ 00:00:22 #2501 [Verbose] > │ | US5_0 │ 00:00:22 #2502 [Verbose] > │ | US5_1 of f1_0 : int64 * f1_1 : UH1 │ 00:00:22 #2503 [Verbose] > │ let rec closure2 (v0 : UH0) () : UH0 = │ 00:00:22 #2504 [Verbose] > │ v0 │ 00:00:22 #2505 [Verbose] > │ and method0 (v0 : int64, v1 : UH0, v2 : UH0) : UH0 = │ 00:00:22 #2506 [Verbose] > │ match v1 with │ 00:00:22 #2507 [Verbose] > │ | UH0_0(v3, v4) -> (* StreamCons *) │ 00:00:22 #2508 [Verbose] > │ let v5 : UH0 = v4 () │ 00:00:22 #2509 [Verbose] > │ let v6 : UH0 = method0(v0, v5, v2) │ 00:00:22 #2510 [Verbose] > │ let v7 : int64 = int64 v3 │ 00:00:22 #2511 [Verbose] > │ let v8 : int64 = v7 - 1L │ 00:00:22 #2512 [Verbose] > │ let v9 : int64 = v8 + v0 │ 00:00:22 #2513 [Verbose] > │ let v10 : int64 = v9 % v0 │ 00:00:22 #2514 [Verbose] > │ let v11 : int64 = v10 + 1L │ 00:00:22 #2515 [Verbose] > │ let v12 : uint8 = uint8 v11 │ 00:00:22 #2516 [Verbose] > │ let v13 : (unit -> UH0) = closure2(v6) │ 00:00:22 #2517 [Verbose] > │ UH0_0(v12, v13) │ 00:00:22 #2518 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:22 #2519 [Verbose] > │ v2 │ 00:00:22 #2520 [Verbose] > │ and closure1 (v0 : int64) (v1 : UH0) : UH0 = │ 00:00:22 #2521 [Verbose] > │ let v2 : UH0 = UH0_1 │ 00:00:22 #2522 [Verbose] > │ method0(v0, v1, v2) │ 00:00:22 #2523 [Verbose] > │ and closure0 () (v0 : int64) : (UH0 -> UH0) = │ 00:00:22 #2524 [Verbose] > │ closure1(v0) │ 00:00:22 #2525 [Verbose] > │ and method1 (v0 : UH1, v1 : UH1) : UH1 = │ 00:00:22 #2526 [Verbose] > │ match v0 with │ 00:00:22 #2527 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │ 00:00:22 #2528 [Verbose] > │ let v4 : UH1 = UH1_0(v2, v1) │ 00:00:22 #2529 [Verbose] > │ method1(v3, v4) │ 00:00:22 #2530 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #2531 [Verbose] > │ v1 │ 00:00:22 #2532 [Verbose] > │ and method2 (v0 : UH1, v1 : UH1) : UH1 = │ 00:00:22 #2533 [Verbose] > │ match v0 with │ 00:00:22 #2534 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │ 00:00:22 #2535 [Verbose] > │ let v4 : UH1 = method2(v3, v1) │ 00:00:22 #2536 [Verbose] > │ UH1_0(v2, v4) │ 00:00:22 #2537 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #2538 [Verbose] > │ v1 │ 00:00:22 #2539 [Verbose] > │ and closure4 (v0 : UH0) () : UH0 = │ 00:00:22 #2540 [Verbose] > │ v0 │ 00:00:22 #2541 [Verbose] > │ and method3 (v0 : UH1, v1 : UH0) : UH0 = │ 00:00:22 #2542 [Verbose] > │ match v0 with │ 00:00:22 #2543 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │ 00:00:22 #2544 [Verbose] > │ let v4 : UH0 = method3(v3, v1) │ 00:00:22 #2545 [Verbose] > │ let v5 : (unit -> UH0) = closure4(v4) │ 00:00:22 #2546 [Verbose] > │ UH0_0(v2, v5) │ 00:00:22 #2547 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #2548 [Verbose] > │ v1 │ 00:00:22 #2549 [Verbose] > │ and closure5 (v0 : UH0) () : UH0 = │ 00:00:22 #2550 [Verbose] > │ v0 │ 00:00:22 #2551 [Verbose] > │ and closure6 (v0 : UH0, v1 : Mut0) () : UH0 = │ 00:00:22 #2552 [Verbose] > │ let v2 : US0 = v1.l0 │ 00:00:22 #2553 [Verbose] > │ match v2 with │ 00:00:22 #2554 [Verbose] > │ | US0_0(v3) -> (* Computed *) │ 00:00:22 #2555 [Verbose] > │ v3 │ 00:00:22 #2556 [Verbose] > │ | US0_1(v4) -> (* NotComputed *) │ 00:00:22 #2557 [Verbose] > │ let v5 : UH0 = v4 () │ 00:00:22 #2558 [Verbose] > │ let v12 : UH0 = │ 00:00:22 #2559 [Verbose] > │ match v5 with │ 00:00:22 #2560 [Verbose] > │ | UH0_0(v7, v8) -> (* StreamCons *) │ 00:00:22 #2561 [Verbose] > │ let v9 : (unit -> UH0) = method4(v0, v8) │ 00:00:22 #2562 [Verbose] > │ UH0_0(v7, v9) │ 00:00:22 #2563 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:22 #2564 [Verbose] > │ UH0_1 │ 00:00:22 #2565 [Verbose] > │ let v13 : US0 = US0_0(v12) │ 00:00:22 #2566 [Verbose] > │ v1.l0 <- v13 │ 00:00:22 #2567 [Verbose] > │ v12 │ 00:00:22 #2568 [Verbose] > │ and method4 (v0 : UH0, v1 : (unit -> UH0)) : (unit -> UH0) = │ 00:00:22 #2569 [Verbose] > │ let v2 : US0 = US0_1(v1) │ 00:00:22 #2570 [Verbose] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │ 00:00:22 #2571 [Verbose] > │ closure6(v0, v3) │ 00:00:22 #2572 [Verbose] > │ and method6 (v0 : int64, v1 : UH0) : US1 = │ 00:00:22 #2573 [Verbose] > │ match v1 with │ 00:00:22 #2574 [Verbose] > │ | UH0_0(v2, v3) -> (* StreamCons *) │ 00:00:22 #2575 [Verbose] > │ let v4 : bool = v0 <= 0L │ 00:00:22 #2576 [Verbose] > │ if v4 then │ 00:00:22 #2577 [Verbose] > │ US1_1(v2) │ 00:00:22 #2578 [Verbose] > │ else │ 00:00:22 #2579 [Verbose] > │ let v6 : int64 = v0 - 1L │ 00:00:22 #2580 [Verbose] > │ let v7 : UH0 = v3 () │ 00:00:22 #2581 [Verbose] > │ method6(v6, v7) │ 00:00:22 #2582 [Verbose] > │ | UH0_1 -> (* StreamNil *) │ 00:00:22 #2583 [Verbose] > │ US1_0 │ 00:00:22 #2584 [Verbose] > │ and method5 (v0 : (unit -> UH0), v1 : Mut1, v2 : Mut1, v3 : Mut1) : uint8 = │ 00:00:22 #2585 [Verbose] > │ let v4 : UH0 = v0 () │ 00:00:22 #2586 [Verbose] > │ let v5 : int64 = v1.l0 │ 00:00:22 #2587 [Verbose] > │ let v6 : US1 = method6(v5, v4) │ 00:00:22 #2588 [Verbose] > │ match v6 with │ 00:00:22 #2589 [Verbose] > │ | US1_0 -> (* None *) │ 00:00:22 #2590 [Verbose] > │ let v10 : int64 = v3.l0 │ 00:00:22 #2591 [Verbose] > │ let v11 : bool = v10 = -1L │ 00:00:22 #2592 [Verbose] > │ if v11 then │ 00:00:22 #2593 [Verbose] > │ let v12 : int64 = v1.l0 │ 00:00:22 #2594 [Verbose] > │ v3.l0 <- v12 │ 00:00:22 #2595 [Verbose] > │ () │ 00:00:22 #2596 [Verbose] > │ let v13 : int64 = v2.l0 │ 00:00:22 #2597 [Verbose] > │ let v14 : int64 = v3.l0 │ 00:00:22 #2598 [Verbose] > │ let v15 : bool = v13 >= v14 │ 00:00:22 #2599 [Verbose] > │ let v18 : int64 = │ 00:00:22 #2600 [Verbose] > │ if v15 then │ 00:00:22 #2601 [Verbose] > │ 1L │ 00:00:22 #2602 [Verbose] > │ else │ 00:00:22 #2603 [Verbose] > │ let v16 : int64 = v2.l0 │ 00:00:22 #2604 [Verbose] > │ let v17 : int64 = v16 + 1L │ 00:00:22 #2605 [Verbose] > │ v17 │ 00:00:22 #2606 [Verbose] > │ v2.l0 <- v18 │ 00:00:22 #2607 [Verbose] > │ let v19 : int64 = v2.l0 │ 00:00:22 #2608 [Verbose] > │ let v20 : int64 = v19 - 1L │ 00:00:22 #2609 [Verbose] > │ v1.l0 <- v20 │ 00:00:22 #2610 [Verbose] > │ method5(v0, v1, v2, v3) │ 00:00:22 #2611 [Verbose] > │ | US1_1(v7) -> (* Some *) │ 00:00:22 #2612 [Verbose] > │ let v8 : int64 = v1.l0 │ 00:00:22 #2613 [Verbose] > │ let v9 : int64 = v8 + 1L │ 00:00:22 #2614 [Verbose] > │ v1.l0 <- v9 │ 00:00:22 #2615 [Verbose] > │ v7 │ 00:00:22 #2616 [Verbose] > │ and closure7 (v0 : (unit -> UH0), v1 : Mut1, v2 : Mut1, v3 : Mut1) () : │ 00:00:22 #2617 [Verbose] > │ uint8 = │ 00:00:22 #2618 [Verbose] > │ method5(v0, v1, v2, v3) │ 00:00:22 #2619 [Verbose] > │ and closure3 () (v0 : UH1) : (unit -> uint8) = │ 00:00:22 #2620 [Verbose] > │ let v1 : UH1 = UH1_1 │ 00:00:22 #2621 [Verbose] > │ let v2 : UH1 = method1(v0, v1) │ 00:00:22 #2622 [Verbose] > │ let v3 : UH1 = method2(v0, v2) │ 00:00:22 #2623 [Verbose] > │ let v4 : UH0 = UH0_1 │ 00:00:22 #2624 [Verbose] > │ let v5 : UH0 = method3(v3, v4) │ 00:00:22 #2625 [Verbose] > │ let v6 : (unit -> UH0) = closure5(v5) │ 00:00:22 #2626 [Verbose] > │ let v7 : (unit -> UH0) = method4(v5, v6) │ 00:00:22 #2627 [Verbose] > │ let v8 : Mut1 = {l0 = 0L} : Mut1 │ 00:00:22 #2628 [Verbose] > │ let v9 : Mut1 = {l0 = 1L} : Mut1 │ 00:00:22 #2629 [Verbose] > │ let v10 : Mut1 = {l0 = -1L} : Mut1 │ 00:00:22 #2630 [Verbose] > │ closure7(v7, v8, v9, v10) │ 00:00:22 #2631 [Verbose] > │ and closure9 () (v0 : (string -> unit)) : US2 = │ 00:00:22 #2632 [Verbose] > │ US2_1(v0) │ 00:00:22 #2633 [Verbose] > │ and method7 (v0 : US2, v1 : uint64, v2 : int8, v3 : uint64) : int8 = │ 00:00:22 #2634 [Verbose] > │ let v4 : bool = v3 < v1 │ 00:00:22 #2635 [Verbose] > │ if v4 then │ 00:00:22 #2636 [Verbose] > │ let v5 : uint64 = v3 * 6UL │ 00:00:22 #2637 [Verbose] > │ let v6 : bool = v5 > v3 │ 00:00:22 #2638 [Verbose] > │ if v6 then │ 00:00:22 #2639 [Verbose] > │ let v7 : int8 = v2 + 1y │ 00:00:22 #2640 [Verbose] > │ method7(v0, v1, v7, v5) │ 00:00:22 #2641 [Verbose] > │ else │ 00:00:22 #2642 [Verbose] > │ let v9 : string = $"calculate_dice_count / max: {v1} / n: {v2} / │ 00:00:22 #2643 [Verbose] > │ p: {v3}" │ 00:00:22 #2644 [Verbose] > │ match v0 with │ 00:00:22 #2645 [Verbose] > │ | US2_0 -> (* None *) │ 00:00:22 #2646 [Verbose] > │ () │ 00:00:22 #2647 [Verbose] > │ | US2_1(v10) -> (* Some *) │ 00:00:22 #2648 [Verbose] > │ v10 v9 │ 00:00:22 #2649 [Verbose] > │ v2 │ 00:00:22 #2650 [Verbose] > │ else │ 00:00:22 #2651 [Verbose] > │ let v12 : string = $"calculate_dice_count / max: {v1} / n: {v2} / p: │ 00:00:22 #2652 [Verbose] > │ {v3}" │ 00:00:22 #2653 [Verbose] > │ match v0 with │ 00:00:22 #2654 [Verbose] > │ | US2_0 -> (* None *) │ 00:00:22 #2655 [Verbose] > │ () │ 00:00:22 #2656 [Verbose] > │ | US2_1(v13) -> (* Some *) │ 00:00:22 #2657 [Verbose] > │ v13 v12 │ 00:00:22 #2658 [Verbose] > │ v2 │ 00:00:22 #2659 [Verbose] > │ and closure76 () () : UH2 = │ 00:00:22 #2660 [Verbose] > │ let v0 : (unit -> UH2) = closure76() │ 00:00:22 #2661 [Verbose] > │ UH2_0(0UL, v0) │ 00:00:22 #2662 [Verbose] > │ and closure75 () () : UH2 = │ 00:00:22 #2663 [Verbose] > │ let v0 : (unit -> UH2) = closure76() │ 00:00:22 #2664 [Verbose] > │ UH2_0(9223372036854775808UL, v0) │ 00:00:22 #2665 [Verbose] > │ and closure74 () () : UH2 = │ 00:00:22 #2666 [Verbose] > │ let v0 : (unit -> UH2) = closure75() │ 00:00:22 #2667 [Verbose] > │ UH2_0(4611686018427387904UL, v0) │ 00:00:22 #2668 [Verbose] > │ and closure73 () () : UH2 = │ 00:00:22 #2669 [Verbose] > │ let v0 : (unit -> UH2) = closure74() │ 00:00:22 #2670 [Verbose] > │ UH2_0(6917529027641081856UL, v0) │ 00:00:22 #2671 [Verbose] > │ and closure72 () () : UH2 = │ 00:00:22 #2672 [Verbose] > │ let v0 : (unit -> UH2) = closure73() │ 00:00:22 #2673 [Verbose] > │ UH2_0(1152921504606846976UL, v0) │ 00:00:22 #2674 [Verbose] > │ and closure71 () () : UH2 = │ 00:00:22 #2675 [Verbose] > │ let v0 : (unit -> UH2) = closure72() │ 00:00:22 #2676 [Verbose] > │ UH2_0(15564440312192434176UL, v0) │ 00:00:22 #2677 [Verbose] > │ and closure70 () () : UH2 = │ 00:00:22 #2678 [Verbose] > │ let v0 : (unit -> UH2) = closure71() │ 00:00:22 #2679 [Verbose] > │ UH2_0(11817445422220181504UL, v0) │ 00:00:22 #2680 [Verbose] > │ and closure69 () () : UH2 = │ 00:00:22 #2681 [Verbose] > │ let v0 : (unit -> UH2) = closure70() │ 00:00:22 #2682 [Verbose] > │ UH2_0(5044031582654955520UL, v0) │ 00:00:22 #2683 [Verbose] > │ and closure68 () () : UH2 = │ 00:00:22 #2684 [Verbose] > │ let v0 : (unit -> UH2) = closure69() │ 00:00:22 #2685 [Verbose] > │ UH2_0(6989586621679009792UL, v0) │ 00:00:22 #2686 [Verbose] > │ and closure67 () () : UH2 = │ 00:00:22 #2687 [Verbose] > │ let v0 : (unit -> UH2) = closure68() │ 00:00:22 #2688 [Verbose] > │ UH2_0(16537217831704461312UL, v0) │ 00:00:22 #2689 [Verbose] > │ and closure66 () () : UH2 = │ 00:00:22 #2690 [Verbose] > │ let v0 : (unit -> UH2) = closure67() │ 00:00:22 #2691 [Verbose] > │ UH2_0(11979575008805519360UL, v0) │ 00:00:22 #2692 [Verbose] > │ and closure65 () () : UH2 = │ 00:00:22 #2693 [Verbose] > │ let v0 : (unit -> UH2) = closure66() │ 00:00:22 #2694 [Verbose] > │ UH2_0(14294425217273954304UL, v0) │ 00:00:22 #2695 [Verbose] > │ and closure64 () () : UH2 = │ 00:00:22 #2696 [Verbose] > │ let v0 : (unit -> UH2) = closure65() │ 00:00:22 #2697 [Verbose] > │ UH2_0(2382404202878992384UL, v0) │ 00:00:22 #2698 [Verbose] > │ and closure63 () () : UH2 = │ 00:00:22 #2699 [Verbose] > │ let v0 : (unit -> UH2) = closure64() │ 00:00:22 #2700 [Verbose] > │ UH2_0(6545982058383015936UL, v0) │ 00:00:22 #2701 [Verbose] > │ and closure62 () () : UH2 = │ 00:00:22 #2702 [Verbose] > │ let v0 : (unit -> UH2) = closure63() │ 00:00:22 #2703 [Verbose] > │ UH2_0(10314369046585278464UL, v0) │ 00:00:22 #2704 [Verbose] > │ and closure61 () () : UH2 = │ 00:00:22 #2705 [Verbose] > │ let v0 : (unit -> UH2) = closure62() │ 00:00:22 #2706 [Verbose] > │ UH2_0(4793518853382471680UL, v0) │ 00:00:22 #2707 [Verbose] > │ and closure60 () () : UH2 = │ 00:00:22 #2708 [Verbose] > │ let v0 : (unit -> UH2) = closure61() │ 00:00:22 #2709 [Verbose] > │ UH2_0(3873377154515337216UL, v0) │ 00:00:22 #2710 [Verbose] > │ and closure59 () () : UH2 = │ 00:00:22 #2711 [Verbose] > │ let v0 : (unit -> UH2) = closure60() │ 00:00:22 #2712 [Verbose] > │ UH2_0(645562859085889536UL, v0) │ 00:00:22 #2713 [Verbose] > │ and closure58 () () : UH2 = │ 00:00:22 #2714 [Verbose] > │ let v0 : (unit -> UH2) = closure59() │ 00:00:22 #2715 [Verbose] > │ UH2_0(107593809847648256UL, v0) │ 00:00:22 #2716 [Verbose] > │ and closure57 () () : UH2 = │ 00:00:22 #2717 [Verbose] > │ let v0 : (unit -> UH2) = closure58() │ 00:00:22 #2718 [Verbose] > │ UH2_0(3092389647259533312UL, v0) │ 00:00:22 #2719 [Verbose] > │ and closure56 () () : UH2 = │ 00:00:22 #2720 [Verbose] > │ let v0 : (unit -> UH2) = closure57() │ 00:00:22 #2721 [Verbose] > │ UH2_0(9738770311398031360UL, v0) │ 00:00:22 #2722 [Verbose] > │ and closure55 () () : UH2 = │ 00:00:22 #2723 [Verbose] > │ let v0 : (unit -> UH2) = closure56() │ 00:00:22 #2724 [Verbose] > │ UH2_0(16995415113324298240UL, v0) │ 00:00:22 #2725 [Verbose] > │ and closure54 () () : UH2 = │ 00:00:22 #2726 [Verbose] > │ let v0 : (unit -> UH2) = closure55() │ 00:00:22 #2727 [Verbose] > │ UH2_0(8981483876790566912UL, v0) │ 00:00:22 #2728 [Verbose] > │ and closure53 () () : UH2 = │ 00:00:22 #2729 [Verbose] > │ let v0 : (unit -> UH2) = closure54() │ 00:00:22 #2730 [Verbose] > │ UH2_0(13794743361938128896UL, v0) │ 00:00:22 #2731 [Verbose] > │ and closure52 () () : UH2 = │ 00:00:22 #2732 [Verbose] > │ let v0 : (unit -> UH2) = closure53() │ 00:00:22 #2733 [Verbose] > │ UH2_0(2299123893656354816UL, v0) │ 00:00:22 #2734 [Verbose] > │ and closure51 () () : UH2 = │ 00:00:22 #2735 [Verbose] > │ let v0 : (unit -> UH2) = closure52() │ 00:00:22 #2736 [Verbose] > │ UH2_0(3457644661227651072UL, v0) │ 00:00:22 #2737 [Verbose] > │ and closure50 () () : UH2 = │ 00:00:22 #2738 [Verbose] > │ let v0 : (unit -> UH2) = closure51() │ 00:00:22 #2739 [Verbose] > │ UH2_0(576274110204608512UL, v0) │ 00:00:22 #2740 [Verbose] > │ and closure49 () () : UH2 = │ 00:00:22 #2741 [Verbose] > │ let v0 : (unit -> UH2) = closure50() │ 00:00:22 #2742 [Verbose] > │ UH2_0(6244960376270618624UL, v0) │ 00:00:22 #2743 [Verbose] > │ and closure48 () () : UH2 = │ 00:00:22 #2744 [Verbose] > │ let v0 : (unit -> UH2) = closure49() │ 00:00:22 #2745 [Verbose] > │ UH2_0(13338656111851470848UL, v0) │ 00:00:22 #2746 [Verbose] > │ and closure47 () () : UH2 = │ 00:00:22 #2747 [Verbose] > │ let v0 : (unit -> UH2) = closure48() │ 00:00:22 #2748 [Verbose] > │ UH2_0(14520938734448279552UL, v0) │ 00:00:22 #2749 [Verbose] > │ and closure46 () () : UH2 = │ 00:00:22 #2750 [Verbose] > │ let v0 : (unit -> UH2) = closure47() │ 00:00:22 #2751 [Verbose] > │ UH2_0(14717985838214414336UL, v0) │ 00:00:22 #2752 [Verbose] > │ and closure45 () () : UH2 = │ 00:00:22 #2753 [Verbose] > │ let v0 : (unit -> UH2) = closure46() │ 00:00:22 #2754 [Verbose] > │ UH2_0(5527454985320660992UL, v0) │ 00:00:22 #2755 [Verbose] > │ and closure44 () () : UH2 = │ 00:00:22 #2756 [Verbose] > │ let v0 : (unit -> UH2) = closure45() │ 00:00:22 #2757 [Verbose] > │ UH2_0(16293529225644736512UL, v0) │ 00:00:22 #2758 [Verbose] > │ and closure43 () () : UH2 = │ 00:00:22 #2759 [Verbose] > │ let v0 : (unit -> UH2) = closure44() │ 00:00:22 #2760 [Verbose] > │ UH2_0(11938960241128898560UL, v0) │ 00:00:22 #2761 [Verbose] > │ and closure42 () () : UH2 = │ 00:00:22 #2762 [Verbose] > │ let v0 : (unit -> UH2) = closure43() │ 00:00:22 #2763 [Verbose] > │ UH2_0(8138741398091333632UL, v0) │ 00:00:22 #2764 [Verbose] > │ and closure41 () () : UH2 = │ 00:00:22 #2765 [Verbose] > │ let v0 : (unit -> UH2) = closure42() │ 00:00:22 #2766 [Verbose] > │ UH2_0(7505371590918406144UL, v0) │ 00:00:22 #2767 [Verbose] > │ and closure40 () () : UH2 = │ 00:00:22 #2768 [Verbose] > │ let v0 : (unit -> UH2) = closure41() │ 00:00:22 #2769 [Verbose] > │ UH2_0(16623181993244360704UL, v0) │ 00:00:22 #2770 [Verbose] > │ and closure39 () () : UH2 = │ 00:00:22 #2771 [Verbose] > │ let v0 : (unit -> UH2) = closure40() │ 00:00:22 #2772 [Verbose] > │ UH2_0(8919445023443910656UL, v0) │ 00:00:22 #2773 [Verbose] > │ and closure38 () () : UH2 = │ 00:00:22 #2774 [Verbose] > │ let v0 : (unit -> UH2) = closure39() │ 00:00:22 #2775 [Verbose] > │ UH2_0(4561031516192243712UL, v0) │ 00:00:22 #2776 [Verbose] > │ and closure37 () () : UH2 = │ 00:00:22 #2777 [Verbose] > │ let v0 : (unit -> UH2) = closure38() │ 00:00:22 #2778 [Verbose] > │ UH2_0(9983543956220149760UL, v0) │ 00:00:22 #2779 [Verbose] > │ and closure36 () () : UH2 = │ 00:00:22 #2780 [Verbose] > │ let v0 : (unit -> UH2) = closure37() │ 00:00:22 #2781 [Verbose] > │ UH2_0(4738381338321616896UL, v0) │ 00:00:22 #2782 [Verbose] > │ and closure35 () () : UH2 = │ 00:00:22 #2783 [Verbose] > │ let v0 : (unit -> UH2) = closure36() │ 00:00:22 #2784 [Verbose] > │ UH2_0(789730223053602816UL, v0) │ 00:00:22 #2785 [Verbose] > │ and closure34 () () : UH2 = │ 00:00:22 #2786 [Verbose] > │ let v0 : (unit -> UH2) = closure35() │ 00:00:22 #2787 [Verbose] > │ UH2_0(131621703842267136UL, v0) │ 00:00:22 #2788 [Verbose] > │ and closure33 () () : UH2 = │ 00:00:22 #2789 [Verbose] > │ let v0 : (unit -> UH2) = closure34() │ 00:00:22 #2790 [Verbose] > │ UH2_0(21936950640377856UL, v0) │ 00:00:22 #2791 [Verbose] > │ and closure32 () () : UH2 = │ 00:00:22 #2792 [Verbose] > │ let v0 : (unit -> UH2) = closure33() │ 00:00:22 #2793 [Verbose] > │ UH2_0(3656158440062976UL, v0) │ 00:00:22 #2794 [Verbose] > │ and closure31 () () : UH2 = │ 00:00:22 #2795 [Verbose] > │ let v0 : (unit -> UH2) = closure32() │ 00:00:22 #2796 [Verbose] > │ UH2_0(609359740010496UL, v0) │ 00:00:22 #2797 [Verbose] > │ and closure30 () () : UH2 = │ 00:00:22 #2798 [Verbose] > │ let v0 : (unit -> UH2) = closure31() │ 00:00:22 #2799 [Verbose] > │ UH2_0(101559956668416UL, v0) │ 00:00:22 #2800 [Verbose] > │ and closure29 () () : UH2 = │ 00:00:22 #2801 [Verbose] > │ let v0 : (unit -> UH2) = closure30() │ 00:00:22 #2802 [Verbose] > │ UH2_0(16926659444736UL, v0) │ 00:00:22 #2803 [Verbose] > │ and closure28 () () : UH2 = │ 00:00:22 #2804 [Verbose] > │ let v0 : (unit -> UH2) = closure29() │ 00:00:22 #2805 [Verbose] > │ UH2_0(2821109907456UL, v0) │ 00:00:22 #2806 [Verbose] > │ and closure27 () () : UH2 = │ 00:00:22 #2807 [Verbose] > │ let v0 : (unit -> UH2) = closure28() │ 00:00:22 #2808 [Verbose] > │ UH2_0(470184984576UL, v0) │ 00:00:22 #2809 [Verbose] > │ and closure26 () () : UH2 = │ 00:00:22 #2810 [Verbose] > │ let v0 : (unit -> UH2) = closure27() │ 00:00:22 #2811 [Verbose] > │ UH2_0(78364164096UL, v0) │ 00:00:22 #2812 [Verbose] > │ and closure25 () () : UH2 = │ 00:00:22 #2813 [Verbose] > │ let v0 : (unit -> UH2) = closure26() │ 00:00:22 #2814 [Verbose] > │ UH2_0(13060694016UL, v0) │ 00:00:22 #2815 [Verbose] > │ and closure24 () () : UH2 = │ 00:00:22 #2816 [Verbose] > │ let v0 : (unit -> UH2) = closure25() │ 00:00:22 #2817 [Verbose] > │ UH2_0(2176782336UL, v0) │ 00:00:22 #2818 [Verbose] > │ and closure23 () () : UH2 = │ 00:00:22 #2819 [Verbose] > │ let v0 : (unit -> UH2) = closure24() │ 00:00:22 #2820 [Verbose] > │ UH2_0(362797056UL, v0) │ 00:00:22 #2821 [Verbose] > │ and closure22 () () : UH2 = │ 00:00:22 #2822 [Verbose] > │ let v0 : (unit -> UH2) = closure23() │ 00:00:22 #2823 [Verbose] > │ UH2_0(60466176UL, v0) │ 00:00:22 #2824 [Verbose] > │ and closure21 () () : UH2 = │ 00:00:22 #2825 [Verbose] > │ let v0 : (unit -> UH2) = closure22() │ 00:00:22 #2826 [Verbose] > │ UH2_0(10077696UL, v0) │ 00:00:22 #2827 [Verbose] > │ and closure20 () () : UH2 = │ 00:00:22 #2828 [Verbose] > │ let v0 : (unit -> UH2) = closure21() │ 00:00:22 #2829 [Verbose] > │ UH2_0(1679616UL, v0) │ 00:00:22 #2830 [Verbose] > │ and closure19 () () : UH2 = │ 00:00:22 #2831 [Verbose] > │ let v0 : (unit -> UH2) = closure20() │ 00:00:22 #2832 [Verbose] > │ UH2_0(279936UL, v0) │ 00:00:22 #2833 [Verbose] > │ and closure18 () () : UH2 = │ 00:00:22 #2834 [Verbose] > │ let v0 : (unit -> UH2) = closure19() │ 00:00:22 #2835 [Verbose] > │ UH2_0(46656UL, v0) │ 00:00:22 #2836 [Verbose] > │ and closure17 () () : UH2 = │ 00:00:22 #2837 [Verbose] > │ let v0 : (unit -> UH2) = closure18() │ 00:00:22 #2838 [Verbose] > │ UH2_0(7776UL, v0) │ 00:00:22 #2839 [Verbose] > │ and closure16 () () : UH2 = │ 00:00:22 #2840 [Verbose] > │ let v0 : (unit -> UH2) = closure17() │ 00:00:22 #2841 [Verbose] > │ UH2_0(1296UL, v0) │ 00:00:22 #2842 [Verbose] > │ and closure15 () () : UH2 = │ 00:00:22 #2843 [Verbose] > │ let v0 : (unit -> UH2) = closure16() │ 00:00:22 #2844 [Verbose] > │ UH2_0(216UL, v0) │ 00:00:22 #2845 [Verbose] > │ and closure14 () () : UH2 = │ 00:00:22 #2846 [Verbose] > │ let v0 : (unit -> UH2) = closure15() │ 00:00:22 #2847 [Verbose] > │ UH2_0(36UL, v0) │ 00:00:22 #2848 [Verbose] > │ and closure13 () () : UH2 = │ 00:00:22 #2849 [Verbose] > │ let v0 : (unit -> UH2) = closure14() │ 00:00:22 #2850 [Verbose] > │ UH2_0(6UL, v0) │ 00:00:22 #2851 [Verbose] > │ and method10 (v0 : int8, v1 : UH2) : US4 = │ 00:00:22 #2852 [Verbose] > │ match v1 with │ 00:00:22 #2853 [Verbose] > │ | UH2_0(v2, v3) -> (* StreamCons *) │ 00:00:22 #2854 [Verbose] > │ let v4 : bool = v0 <= 0y │ 00:00:22 #2855 [Verbose] > │ if v4 then │ 00:00:22 #2856 [Verbose] > │ US4_1(v2) │ 00:00:22 #2857 [Verbose] > │ else │ 00:00:22 #2858 [Verbose] > │ let v6 : int8 = v0 - 1y │ 00:00:22 #2859 [Verbose] > │ let v7 : UH2 = v3 () │ 00:00:22 #2860 [Verbose] > │ method10(v6, v7) │ 00:00:22 #2861 [Verbose] > │ | UH2_1 -> (* StreamNil *) │ 00:00:22 #2862 [Verbose] > │ US4_0 │ 00:00:22 #2863 [Verbose] > │ and method9 (v0 : US2, v1 : int8, v2 : UH1, v3 : uint64) : US3 = │ 00:00:22 #2864 [Verbose] > │ let v4 : bool = v1 < 0y │ 00:00:22 #2865 [Verbose] > │ if v4 then │ 00:00:22 #2866 [Verbose] > │ let v5 : string = $"accumulate_dice_rolls / power: {v1} / acc: {v3}" │ 00:00:22 #2867 [Verbose] > │ match v0 with │ 00:00:22 #2868 [Verbose] > │ | US2_0 -> (* None *) │ 00:00:22 #2869 [Verbose] > │ () │ 00:00:22 #2870 [Verbose] > │ | US2_1(v6) -> (* Some *) │ 00:00:22 #2871 [Verbose] > │ v6 v5 │ 00:00:22 #2872 [Verbose] > │ let v7 : uint64 = v3 + 1UL │ 00:00:22 #2873 [Verbose] > │ US3_1(v7, v2) │ 00:00:22 #2874 [Verbose] > │ else │ 00:00:22 #2875 [Verbose] > │ match v2 with │ 00:00:22 #2876 [Verbose] > │ | UH1_0(v10, v11) -> (* Cons *) │ 00:00:22 #2877 [Verbose] > │ let v12 : bool = v10 > 1uy │ 00:00:22 #2878 [Verbose] > │ if v12 then │ 00:00:22 #2879 [Verbose] > │ let v13 : uint64 = 1UL │ 00:00:22 #2880 [Verbose] > │ let v14 : (unit -> UH2) = closure13() │ 00:00:22 #2881 [Verbose] > │ let v15 : UH2 = UH2_0(v13, v14) │ 00:00:22 #2882 [Verbose] > │ let v16 : US4 = method10(v1, v15) │ 00:00:22 #2883 [Verbose] > │ let v20 : uint64 = │ 00:00:22 #2884 [Verbose] > │ match v16 with │ 00:00:22 #2885 [Verbose] > │ | US4_0 -> (* None *) │ 00:00:22 #2886 [Verbose] > │ failwith<uint64> "Option does not have a value." │ 00:00:22 #2887 [Verbose] > │ | US4_1(v17) -> (* Some *) │ 00:00:22 #2888 [Verbose] > │ v17 │ 00:00:22 #2889 [Verbose] > │ let v21 : uint8 = v10 - 1uy │ 00:00:22 #2890 [Verbose] > │ let v22 : uint64 = uint64 v21 │ 00:00:22 #2891 [Verbose] > │ let v23 : uint64 = v22 * v20 │ 00:00:22 #2892 [Verbose] > │ let v24 : string = $"accumulate_dice_rolls / power: {v1} / │ 00:00:22 #2893 [Verbose] > │ acc: {v3} / roll: {v10} / value: {v23}" │ 00:00:22 #2894 [Verbose] > │ match v0 with │ 00:00:22 #2895 [Verbose] > │ | US2_0 -> (* None *) │ 00:00:22 #2896 [Verbose] > │ () │ 00:00:22 #2897 [Verbose] > │ | US2_1(v25) -> (* Some *) │ 00:00:22 #2898 [Verbose] > │ v25 v24 │ 00:00:22 #2899 [Verbose] > │ let v26 : uint64 = v3 + v23 │ 00:00:22 #2900 [Verbose] > │ let v27 : int8 = v1 - 1y │ 00:00:22 #2901 [Verbose] > │ method9(v0, v27, v11, v26) │ 00:00:22 #2902 [Verbose] > │ else │ 00:00:22 #2903 [Verbose] > │ let v29 : string = $"accumulate_dice_rolls / power: {v1} / │ 00:00:22 #2904 [Verbose] > │ acc: {v3} / roll: {v10}" │ 00:00:22 #2905 [Verbose] > │ match v0 with │ 00:00:22 #2906 [Verbose] > │ | US2_0 -> (* None *) │ 00:00:22 #2907 [Verbose] > │ () │ 00:00:22 #2908 [Verbose] > │ | US2_1(v30) -> (* Some *) │ 00:00:22 #2909 [Verbose] > │ v30 v29 │ 00:00:22 #2910 [Verbose] > │ let v31 : int8 = v1 - 1y │ 00:00:22 #2911 [Verbose] > │ method9(v0, v31, v11, v3) │ 00:00:22 #2912 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #2913 [Verbose] > │ US3_0 │ 00:00:22 #2914 [Verbose] > │ and method11 (v0 : int8, v1 : (unit -> uint8), v2 : int8) : UH1 = │ 00:00:22 #2915 [Verbose] > │ let v3 : bool = v2 < v0 │ 00:00:22 #2916 [Verbose] > │ if v3 then │ 00:00:22 #2917 [Verbose] > │ let v4 : uint8 = v1 () │ 00:00:22 #2918 [Verbose] > │ let v5 : int8 = v2 + 1y │ 00:00:22 #2919 [Verbose] > │ let v6 : UH1 = method11(v0, v1, v5) │ 00:00:22 #2920 [Verbose] > │ UH1_0(v4, v6) │ 00:00:22 #2921 [Verbose] > │ else │ 00:00:22 #2922 [Verbose] > │ UH1_1 │ 00:00:22 #2923 [Verbose] > │ and method12 (v0 : US2, v1 : (unit -> uint8), v2 : bool, v3 : uint64, v4 : │ 00:00:22 #2924 [Verbose] > │ int8, v5 : UH1) : uint64 = │ 00:00:22 #2925 [Verbose] > │ let v6 : int8 = v4 + 1y │ 00:00:22 #2926 [Verbose] > │ let v7 : bool = v4 < v6 │ 00:00:22 #2927 [Verbose] > │ if v7 then │ 00:00:22 #2928 [Verbose] > │ let v8 : uint8 = v1 () │ 00:00:22 #2929 [Verbose] > │ let v9 : UH1 = UH1_0(v8, v5) │ 00:00:22 #2930 [Verbose] > │ method8(v0, v1, v2, v3, v4, v9, v6) │ 00:00:22 #2931 [Verbose] > │ else │ 00:00:22 #2932 [Verbose] > │ let v11 : uint64 = 0UL │ 00:00:22 #2933 [Verbose] > │ let v12 : US3 = method9(v0, v4, v5, v11) │ 00:00:22 #2934 [Verbose] > │ match v12 with │ 00:00:22 #2935 [Verbose] > │ | US3_1(v13, v14) -> (* Some *) │ 00:00:22 #2936 [Verbose] > │ let v15 : bool = v13 <= v3 │ 00:00:22 #2937 [Verbose] > │ if v15 then │ 00:00:22 #2938 [Verbose] > │ v13 │ 00:00:22 #2939 [Verbose] > │ else │ 00:00:22 #2940 [Verbose] > │ if v2 then │ 00:00:22 #2941 [Verbose] > │ let v16 : int8 = 0y │ 00:00:22 #2942 [Verbose] > │ let v17 : UH1 = method11(v4, v1, v16) │ 00:00:22 #2943 [Verbose] > │ method12(v0, v1, v2, v3, v4, v17) │ 00:00:22 #2944 [Verbose] > │ else │ 00:00:22 #2945 [Verbose] > │ let v19 : uint8 = v1 () │ 00:00:22 #2946 [Verbose] > │ let v20 : UH1 = UH1_0(v19, v5) │ 00:00:22 #2947 [Verbose] > │ method8(v0, v1, v2, v3, v4, v20, v6) │ 00:00:22 #2948 [Verbose] > │ | _ -> │ 00:00:22 #2949 [Verbose] > │ if v2 then │ 00:00:22 #2950 [Verbose] > │ let v24 : int8 = 0y │ 00:00:22 #2951 [Verbose] > │ let v25 : UH1 = method11(v4, v1, v24) │ 00:00:22 #2952 [Verbose] > │ method12(v0, v1, v2, v3, v4, v25) │ 00:00:22 #2953 [Verbose] > │ else │ 00:00:22 #2954 [Verbose] > │ let v27 : uint8 = v1 () │ 00:00:22 #2955 [Verbose] > │ let v28 : UH1 = UH1_0(v27, v5) │ 00:00:22 #2956 [Verbose] > │ method8(v0, v1, v2, v3, v4, v28, v6) │ 00:00:22 #2957 [Verbose] > │ and method8 (v0 : US2, v1 : (unit -> uint8), v2 : bool, v3 : uint64, v4 : │ 00:00:22 #2958 [Verbose] > │ int8, v5 : UH1, v6 : int8) : uint64 = │ 00:00:22 #2959 [Verbose] > │ let v7 : int8 = v4 + 1y │ 00:00:22 #2960 [Verbose] > │ let v8 : bool = v6 < v7 │ 00:00:22 #2961 [Verbose] > │ if v8 then │ 00:00:22 #2962 [Verbose] > │ let v9 : uint8 = v1 () │ 00:00:22 #2963 [Verbose] > │ let v10 : UH1 = UH1_0(v9, v5) │ 00:00:22 #2964 [Verbose] > │ let v11 : int8 = v6 + 1y │ 00:00:22 #2965 [Verbose] > │ method8(v0, v1, v2, v3, v4, v10, v11) │ 00:00:22 #2966 [Verbose] > │ else │ 00:00:22 #2967 [Verbose] > │ let v13 : uint64 = 0UL │ 00:00:22 #2968 [Verbose] > │ let v14 : US3 = method9(v0, v4, v5, v13) │ 00:00:22 #2969 [Verbose] > │ match v14 with │ 00:00:22 #2970 [Verbose] > │ | US3_1(v15, v16) -> (* Some *) │ 00:00:22 #2971 [Verbose] > │ let v17 : bool = v15 <= v3 │ 00:00:22 #2972 [Verbose] > │ if v17 then │ 00:00:22 #2973 [Verbose] > │ v15 │ 00:00:22 #2974 [Verbose] > │ else │ 00:00:22 #2975 [Verbose] > │ if v2 then │ 00:00:22 #2976 [Verbose] > │ let v18 : int8 = 0y │ 00:00:22 #2977 [Verbose] > │ let v19 : UH1 = method11(v4, v1, v18) │ 00:00:22 #2978 [Verbose] > │ method12(v0, v1, v2, v3, v4, v19) │ 00:00:22 #2979 [Verbose] > │ else │ 00:00:22 #2980 [Verbose] > │ let v21 : uint8 = v1 () │ 00:00:22 #2981 [Verbose] > │ let v22 : UH1 = UH1_0(v21, v5) │ 00:00:22 #2982 [Verbose] > │ let v23 : int8 = v6 + 1y │ 00:00:22 #2983 [Verbose] > │ method8(v0, v1, v2, v3, v4, v22, v23) │ 00:00:22 #2984 [Verbose] > │ | _ -> │ 00:00:22 #2985 [Verbose] > │ if v2 then │ 00:00:22 #2986 [Verbose] > │ let v27 : int8 = 0y │ 00:00:22 #2987 [Verbose] > │ let v28 : UH1 = method11(v4, v1, v27) │ 00:00:22 #2988 [Verbose] > │ method12(v0, v1, v2, v3, v4, v28) │ 00:00:22 #2989 [Verbose] > │ else │ 00:00:22 #2990 [Verbose] > │ let v30 : uint8 = v1 () │ 00:00:22 #2991 [Verbose] > │ let v31 : UH1 = UH1_0(v30, v5) │ 00:00:22 #2992 [Verbose] > │ let v32 : int8 = v6 + 1y │ 00:00:22 #2993 [Verbose] > │ method8(v0, v1, v2, v3, v4, v31, v32) │ 00:00:22 #2994 [Verbose] > │ and closure12 (v0 : US2, v1 : (unit -> uint8), v2 : bool) (v3 : uint64) : │ 00:00:22 #2995 [Verbose] > │ uint64 = │ 00:00:22 #2996 [Verbose] > │ let v4 : bool = v3 = 1UL │ 00:00:22 #2997 [Verbose] > │ let v8 : int8 = │ 00:00:22 #2998 [Verbose] > │ if v4 then │ 00:00:22 #2999 [Verbose] > │ 1y │ 00:00:22 #3000 [Verbose] > │ else │ 00:00:22 #3001 [Verbose] > │ let v5 : int8 = 0y │ 00:00:22 #3002 [Verbose] > │ let v6 : uint64 = 1UL │ 00:00:22 #3003 [Verbose] > │ method7(v0, v3, v5, v6) │ 00:00:22 #3004 [Verbose] > │ let v9 : int8 = v8 - 1y │ 00:00:22 #3005 [Verbose] > │ let v10 : UH1 = UH1_1 │ 00:00:22 #3006 [Verbose] > │ let v11 : int8 = 0y │ 00:00:22 #3007 [Verbose] > │ method8(v0, v1, v2, v3, v9, v10, v11) │ 00:00:22 #3008 [Verbose] > │ and closure11 (v0 : US2, v1 : (unit -> uint8)) (v2 : bool) : (uint64 -> │ 00:00:22 #3009 [Verbose] > │ uint64) = │ 00:00:22 #3010 [Verbose] > │ closure12(v0, v1, v2) │ 00:00:22 #3011 [Verbose] > │ and closure10 (v0 : US2) (v1 : (unit -> uint8)) : (bool -> (uint64 -> │ 00:00:22 #3012 [Verbose] > │ uint64)) = │ 00:00:22 #3013 [Verbose] > │ closure11(v0, v1) │ 00:00:22 #3014 [Verbose] > │ and closure8 () (v0 : (string -> unit) option) : ((unit -> uint8) -> (bool │ 00:00:22 #3015 [Verbose] > │ -> (uint64 -> uint64))) = │ 00:00:22 #3016 [Verbose] > │ let v1 : ((string -> unit) -> US2) = closure9() │ 00:00:22 #3017 [Verbose] > │ let v2 : US2 = US2_0 │ 00:00:22 #3018 [Verbose] > │ let v3 : US2 = v0 |> Option.map v1 |> Option.defaultValue v2 │ 00:00:22 #3019 [Verbose] > │ closure10(v3) │ 00:00:22 #3020 [Verbose] > │ and method13 (v0 : UH1, v1 : int8) : int8 = │ 00:00:22 #3021 [Verbose] > │ match v0 with │ 00:00:22 #3022 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │ 00:00:22 #3023 [Verbose] > │ let v4 : int8 = v1 + 1y │ 00:00:22 #3024 [Verbose] > │ method13(v3, v4) │ 00:00:22 #3025 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3026 [Verbose] > │ v1 │ 00:00:22 #3027 [Verbose] > │ and closure79 (v0 : (string -> unit) option, v1 : uint64) (v2 : UH1) : │ 00:00:22 #3028 [Verbose] > │ uint64 option = │ 00:00:22 #3029 [Verbose] > │ let v3 : ((string -> unit) -> US2) = closure9() │ 00:00:22 #3030 [Verbose] > │ let v4 : US2 = US2_0 │ 00:00:22 #3031 [Verbose] > │ let v5 : US2 = v0 |> Option.map v3 |> Option.defaultValue v4 │ 00:00:22 #3032 [Verbose] > │ let v6 : int8 = 0y │ 00:00:22 #3033 [Verbose] > │ let v7 : int8 = method13(v2, v6) │ 00:00:22 #3034 [Verbose] > │ let v8 : int8 = v7 - 1y │ 00:00:22 #3035 [Verbose] > │ let v9 : uint64 = 0UL │ 00:00:22 #3036 [Verbose] > │ let v10 : US3 = method9(v5, v8, v2, v9) │ 00:00:22 #3037 [Verbose] > │ let v20 : US4 = │ 00:00:22 #3038 [Verbose] > │ match v10 with │ 00:00:22 #3039 [Verbose] > │ | US3_1(v11, v12) -> (* Some *) │ 00:00:22 #3040 [Verbose] > │ let v13 : bool = v11 >= 1UL │ 00:00:22 #3041 [Verbose] > │ let v15 : bool = │ 00:00:22 #3042 [Verbose] > │ if v13 then │ 00:00:22 #3043 [Verbose] > │ let v14 : bool = v11 <= v1 │ 00:00:22 #3044 [Verbose] > │ v14 │ 00:00:22 #3045 [Verbose] > │ else │ 00:00:22 #3046 [Verbose] > │ false │ 00:00:22 #3047 [Verbose] > │ if v15 then │ 00:00:22 #3048 [Verbose] > │ US4_1(v11) │ 00:00:22 #3049 [Verbose] > │ else │ 00:00:22 #3050 [Verbose] > │ US4_0 │ 00:00:22 #3051 [Verbose] > │ | _ -> │ 00:00:22 #3052 [Verbose] > │ US4_0 │ 00:00:22 #3053 [Verbose] > │ match v20 with │ 00:00:22 #3054 [Verbose] > │ | US4_0 -> (* None *) │ 00:00:22 #3055 [Verbose] > │ let v23 : uint64 option = None │ 00:00:22 #3056 [Verbose] > │ v23 │ 00:00:22 #3057 [Verbose] > │ | US4_1(v21) -> (* Some *) │ 00:00:22 #3058 [Verbose] > │ let v22 : uint64 option = Some v21 │ 00:00:22 #3059 [Verbose] > │ v22 │ 00:00:22 #3060 [Verbose] > │ and closure78 (v0 : (string -> unit) option) (v1 : uint64) : (UH1 -> uint64 │ 00:00:22 #3061 [Verbose] > │ option) = │ 00:00:22 #3062 [Verbose] > │ closure79(v0, v1) │ 00:00:22 #3063 [Verbose] > │ and closure77 () (v0 : (string -> unit) option) : (uint64 -> (UH1 -> uint64 │ 00:00:22 #3064 [Verbose] > │ option)) = │ 00:00:22 #3065 [Verbose] > │ closure78(v0) │ 00:00:22 #3066 [Verbose] > │ and method39 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3067 [Verbose] > │ let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" │ 00:00:22 #3068 [Verbose] > │ System.Console.WriteLine v2 │ 00:00:22 #3069 [Verbose] > │ let v3 : int64 = v1 + 1L │ 00:00:22 #3070 [Verbose] > │ US5_1(v3, v0) │ 00:00:22 #3071 [Verbose] > │ and method38 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3072 [Verbose] > │ match v0 with │ 00:00:22 #3073 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3074 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3075 [Verbose] > │ if v5 then │ 00:00:22 #3076 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3077 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3078 [Verbose] > │ let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:22 #3079 [Verbose] > │ {v1} / roll: {v3} / value: {v7}" │ 00:00:22 #3080 [Verbose] > │ System.Console.WriteLine v8 │ 00:00:22 #3081 [Verbose] > │ let v9 : int64 = v1 + v7 │ 00:00:22 #3082 [Verbose] > │ method39(v4, v9) │ 00:00:22 #3083 [Verbose] > │ else │ 00:00:22 #3084 [Verbose] > │ let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: │ 00:00:22 #3085 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3086 [Verbose] > │ System.Console.WriteLine v11 │ 00:00:22 #3087 [Verbose] > │ method39(v4, v1) │ 00:00:22 #3088 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3089 [Verbose] > │ US5_0 │ 00:00:22 #3090 [Verbose] > │ and method37 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3091 [Verbose] > │ match v0 with │ 00:00:22 #3092 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3093 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3094 [Verbose] > │ if v5 then │ 00:00:22 #3095 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3096 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3097 [Verbose] > │ let v8 : int64 = v7 * 6L │ 00:00:22 #3098 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:22 #3099 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3100 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3101 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3102 [Verbose] > │ method38(v4, v10) │ 00:00:22 #3103 [Verbose] > │ else │ 00:00:22 #3104 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {1y} / acc: │ 00:00:22 #3105 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3106 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3107 [Verbose] > │ method38(v4, v1) │ 00:00:22 #3108 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3109 [Verbose] > │ US5_0 │ 00:00:22 #3110 [Verbose] > │ and method36 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3111 [Verbose] > │ match v0 with │ 00:00:22 #3112 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3113 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3114 [Verbose] > │ if v5 then │ 00:00:22 #3115 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3116 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3117 [Verbose] > │ let v8 : int64 = v7 * 36L │ 00:00:22 #3118 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:22 #3119 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3120 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3121 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3122 [Verbose] > │ method37(v4, v10) │ 00:00:22 #3123 [Verbose] > │ else │ 00:00:22 #3124 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {2y} / acc: │ 00:00:22 #3125 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3126 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3127 [Verbose] > │ method37(v4, v1) │ 00:00:22 #3128 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3129 [Verbose] > │ US5_0 │ 00:00:22 #3130 [Verbose] > │ and method35 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3131 [Verbose] > │ match v0 with │ 00:00:22 #3132 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3133 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3134 [Verbose] > │ if v5 then │ 00:00:22 #3135 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3136 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3137 [Verbose] > │ let v8 : int64 = v7 * 216L │ 00:00:22 #3138 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:22 #3139 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3140 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3141 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3142 [Verbose] > │ method36(v4, v10) │ 00:00:22 #3143 [Verbose] > │ else │ 00:00:22 #3144 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {3y} / acc: │ 00:00:22 #3145 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3146 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3147 [Verbose] > │ method36(v4, v1) │ 00:00:22 #3148 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3149 [Verbose] > │ US5_0 │ 00:00:22 #3150 [Verbose] > │ and method34 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3151 [Verbose] > │ match v0 with │ 00:00:22 #3152 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3153 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3154 [Verbose] > │ if v5 then │ 00:00:22 #3155 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3156 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3157 [Verbose] > │ let v8 : int64 = v7 * 1296L │ 00:00:22 #3158 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:22 #3159 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3160 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3161 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3162 [Verbose] > │ method35(v4, v10) │ 00:00:22 #3163 [Verbose] > │ else │ 00:00:22 #3164 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {4y} / acc: │ 00:00:22 #3165 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3166 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3167 [Verbose] > │ method35(v4, v1) │ 00:00:22 #3168 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3169 [Verbose] > │ US5_0 │ 00:00:22 #3170 [Verbose] > │ and method33 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3171 [Verbose] > │ match v0 with │ 00:00:22 #3172 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3173 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3174 [Verbose] > │ if v5 then │ 00:00:22 #3175 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3176 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3177 [Verbose] > │ let v8 : int64 = v7 * 7776L │ 00:00:22 #3178 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {5y} / acc: │ 00:00:22 #3179 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3180 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3181 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3182 [Verbose] > │ method34(v4, v10) │ 00:00:22 #3183 [Verbose] > │ else │ 00:00:22 #3184 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {5y} / acc: │ 00:00:22 #3185 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3186 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3187 [Verbose] > │ method34(v4, v1) │ 00:00:22 #3188 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3189 [Verbose] > │ US5_0 │ 00:00:22 #3190 [Verbose] > │ and method32 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3191 [Verbose] > │ match v0 with │ 00:00:22 #3192 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3193 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3194 [Verbose] > │ if v5 then │ 00:00:22 #3195 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3196 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3197 [Verbose] > │ let v8 : int64 = v7 * 46656L │ 00:00:22 #3198 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {6y} / acc: │ 00:00:22 #3199 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3200 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3201 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3202 [Verbose] > │ method33(v4, v10) │ 00:00:22 #3203 [Verbose] > │ else │ 00:00:22 #3204 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {6y} / acc: │ 00:00:22 #3205 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3206 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3207 [Verbose] > │ method33(v4, v1) │ 00:00:22 #3208 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3209 [Verbose] > │ US5_0 │ 00:00:22 #3210 [Verbose] > │ and method31 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3211 [Verbose] > │ match v0 with │ 00:00:22 #3212 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3213 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3214 [Verbose] > │ if v5 then │ 00:00:22 #3215 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3216 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3217 [Verbose] > │ let v8 : int64 = v7 * 279936L │ 00:00:22 #3218 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {7y} / acc: │ 00:00:22 #3219 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3220 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3221 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3222 [Verbose] > │ method32(v4, v10) │ 00:00:22 #3223 [Verbose] > │ else │ 00:00:22 #3224 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {7y} / acc: │ 00:00:22 #3225 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3226 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3227 [Verbose] > │ method32(v4, v1) │ 00:00:22 #3228 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3229 [Verbose] > │ US5_0 │ 00:00:22 #3230 [Verbose] > │ and method30 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3231 [Verbose] > │ match v0 with │ 00:00:22 #3232 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3233 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3234 [Verbose] > │ if v5 then │ 00:00:22 #3235 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3236 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3237 [Verbose] > │ let v8 : int64 = v7 * 1679616L │ 00:00:22 #3238 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {8y} / acc: │ 00:00:22 #3239 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3240 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3241 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3242 [Verbose] > │ method31(v4, v10) │ 00:00:22 #3243 [Verbose] > │ else │ 00:00:22 #3244 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {8y} / acc: │ 00:00:22 #3245 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3246 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3247 [Verbose] > │ method31(v4, v1) │ 00:00:22 #3248 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3249 [Verbose] > │ US5_0 │ 00:00:22 #3250 [Verbose] > │ and method29 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3251 [Verbose] > │ match v0 with │ 00:00:22 #3252 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3253 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3254 [Verbose] > │ if v5 then │ 00:00:22 #3255 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3256 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3257 [Verbose] > │ let v8 : int64 = v7 * 10077696L │ 00:00:22 #3258 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {9y} / acc: │ 00:00:22 #3259 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3260 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3261 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3262 [Verbose] > │ method30(v4, v10) │ 00:00:22 #3263 [Verbose] > │ else │ 00:00:22 #3264 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {9y} / acc: │ 00:00:22 #3265 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3266 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3267 [Verbose] > │ method30(v4, v1) │ 00:00:22 #3268 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3269 [Verbose] > │ US5_0 │ 00:00:22 #3270 [Verbose] > │ and method28 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3271 [Verbose] > │ match v0 with │ 00:00:22 #3272 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3273 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3274 [Verbose] > │ if v5 then │ 00:00:22 #3275 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3276 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3277 [Verbose] > │ let v8 : int64 = v7 * 60466176L │ 00:00:22 #3278 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {10y} / acc: │ 00:00:22 #3279 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3280 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3281 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3282 [Verbose] > │ method29(v4, v10) │ 00:00:22 #3283 [Verbose] > │ else │ 00:00:22 #3284 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {10y} / acc: │ 00:00:22 #3285 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3286 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3287 [Verbose] > │ method29(v4, v1) │ 00:00:22 #3288 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3289 [Verbose] > │ US5_0 │ 00:00:22 #3290 [Verbose] > │ and method27 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3291 [Verbose] > │ match v0 with │ 00:00:22 #3292 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3293 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3294 [Verbose] > │ if v5 then │ 00:00:22 #3295 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3296 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3297 [Verbose] > │ let v8 : int64 = v7 * 362797056L │ 00:00:22 #3298 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {11y} / acc: │ 00:00:22 #3299 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3300 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3301 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3302 [Verbose] > │ method28(v4, v10) │ 00:00:22 #3303 [Verbose] > │ else │ 00:00:22 #3304 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {11y} / acc: │ 00:00:22 #3305 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3306 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3307 [Verbose] > │ method28(v4, v1) │ 00:00:22 #3308 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3309 [Verbose] > │ US5_0 │ 00:00:22 #3310 [Verbose] > │ and method26 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3311 [Verbose] > │ match v0 with │ 00:00:22 #3312 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3313 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3314 [Verbose] > │ if v5 then │ 00:00:22 #3315 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3316 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3317 [Verbose] > │ let v8 : int64 = v7 * 2176782336L │ 00:00:22 #3318 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {12y} / acc: │ 00:00:22 #3319 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3320 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3321 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3322 [Verbose] > │ method27(v4, v10) │ 00:00:22 #3323 [Verbose] > │ else │ 00:00:22 #3324 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {12y} / acc: │ 00:00:22 #3325 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3326 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3327 [Verbose] > │ method27(v4, v1) │ 00:00:22 #3328 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3329 [Verbose] > │ US5_0 │ 00:00:22 #3330 [Verbose] > │ and method25 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3331 [Verbose] > │ match v0 with │ 00:00:22 #3332 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3333 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3334 [Verbose] > │ if v5 then │ 00:00:22 #3335 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3336 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3337 [Verbose] > │ let v8 : int64 = v7 * 13060694016L │ 00:00:22 #3338 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {13y} / acc: │ 00:00:22 #3339 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3340 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3341 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3342 [Verbose] > │ method26(v4, v10) │ 00:00:22 #3343 [Verbose] > │ else │ 00:00:22 #3344 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {13y} / acc: │ 00:00:22 #3345 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3346 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3347 [Verbose] > │ method26(v4, v1) │ 00:00:22 #3348 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3349 [Verbose] > │ US5_0 │ 00:00:22 #3350 [Verbose] > │ and method24 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3351 [Verbose] > │ match v0 with │ 00:00:22 #3352 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3353 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3354 [Verbose] > │ if v5 then │ 00:00:22 #3355 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3356 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3357 [Verbose] > │ let v8 : int64 = v7 * 78364164096L │ 00:00:22 #3358 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {14y} / acc: │ 00:00:22 #3359 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3360 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3361 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3362 [Verbose] > │ method25(v4, v10) │ 00:00:22 #3363 [Verbose] > │ else │ 00:00:22 #3364 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {14y} / acc: │ 00:00:22 #3365 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3366 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3367 [Verbose] > │ method25(v4, v1) │ 00:00:22 #3368 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3369 [Verbose] > │ US5_0 │ 00:00:22 #3370 [Verbose] > │ and method23 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3371 [Verbose] > │ match v0 with │ 00:00:22 #3372 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3373 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3374 [Verbose] > │ if v5 then │ 00:00:22 #3375 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3376 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3377 [Verbose] > │ let v8 : int64 = v7 * 470184984576L │ 00:00:22 #3378 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {15y} / acc: │ 00:00:22 #3379 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3380 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3381 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3382 [Verbose] > │ method24(v4, v10) │ 00:00:22 #3383 [Verbose] > │ else │ 00:00:22 #3384 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {15y} / acc: │ 00:00:22 #3385 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3386 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3387 [Verbose] > │ method24(v4, v1) │ 00:00:22 #3388 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3389 [Verbose] > │ US5_0 │ 00:00:22 #3390 [Verbose] > │ and method22 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3391 [Verbose] > │ match v0 with │ 00:00:22 #3392 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3393 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3394 [Verbose] > │ if v5 then │ 00:00:22 #3395 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3396 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3397 [Verbose] > │ let v8 : int64 = v7 * 2821109907456L │ 00:00:22 #3398 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {16y} / acc: │ 00:00:22 #3399 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3400 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3401 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3402 [Verbose] > │ method23(v4, v10) │ 00:00:22 #3403 [Verbose] > │ else │ 00:00:22 #3404 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {16y} / acc: │ 00:00:22 #3405 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3406 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3407 [Verbose] > │ method23(v4, v1) │ 00:00:22 #3408 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3409 [Verbose] > │ US5_0 │ 00:00:22 #3410 [Verbose] > │ and method21 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3411 [Verbose] > │ match v0 with │ 00:00:22 #3412 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3413 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3414 [Verbose] > │ if v5 then │ 00:00:22 #3415 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3416 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3417 [Verbose] > │ let v8 : int64 = v7 * 16926659444736L │ 00:00:22 #3418 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {17y} / acc: │ 00:00:22 #3419 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3420 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3421 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3422 [Verbose] > │ method22(v4, v10) │ 00:00:22 #3423 [Verbose] > │ else │ 00:00:22 #3424 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {17y} / acc: │ 00:00:22 #3425 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3426 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3427 [Verbose] > │ method22(v4, v1) │ 00:00:22 #3428 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3429 [Verbose] > │ US5_0 │ 00:00:22 #3430 [Verbose] > │ and method20 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3431 [Verbose] > │ match v0 with │ 00:00:22 #3432 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3433 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3434 [Verbose] > │ if v5 then │ 00:00:22 #3435 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3436 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3437 [Verbose] > │ let v8 : int64 = v7 * 101559956668416L │ 00:00:22 #3438 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {18y} / acc: │ 00:00:22 #3439 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3440 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3441 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3442 [Verbose] > │ method21(v4, v10) │ 00:00:22 #3443 [Verbose] > │ else │ 00:00:22 #3444 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {18y} / acc: │ 00:00:22 #3445 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3446 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3447 [Verbose] > │ method21(v4, v1) │ 00:00:22 #3448 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3449 [Verbose] > │ US5_0 │ 00:00:22 #3450 [Verbose] > │ and method19 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3451 [Verbose] > │ match v0 with │ 00:00:22 #3452 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:22 #3453 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:22 #3454 [Verbose] > │ if v5 then │ 00:00:22 #3455 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:22 #3456 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:22 #3457 [Verbose] > │ let v8 : int64 = v7 * 609359740010496L │ 00:00:22 #3458 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {19y} / acc: │ 00:00:22 #3459 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:22 #3460 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:22 #3461 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:22 #3462 [Verbose] > │ method20(v4, v10) │ 00:00:22 #3463 [Verbose] > │ else │ 00:00:22 #3464 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {19y} / acc: │ 00:00:22 #3465 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:22 #3466 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:22 #3467 [Verbose] > │ method20(v4, v1) │ 00:00:22 #3468 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:22 #3469 [Verbose] > │ US5_0 │ 00:00:22 #3470 [Verbose] > │ and method18 (v0 : UH1, v1 : int64) : US5 = │ 00:00:22 #3471 [Verbose] > │ match v0 with │ 00:00:22 #3472 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:23 #3473 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:23 #3474 [Verbose] > │ if v5 then │ 00:00:23 #3475 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:23 #3476 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:23 #3477 [Verbose] > │ let v8 : int64 = v7 * 3656158440062976L │ 00:00:23 #3478 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {20y} / acc: │ 00:00:23 #3479 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:23 #3480 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:23 #3481 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:23 #3482 [Verbose] > │ method19(v4, v10) │ 00:00:23 #3483 [Verbose] > │ else │ 00:00:23 #3484 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {20y} / acc: │ 00:00:23 #3485 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:23 #3486 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:23 #3487 [Verbose] > │ method19(v4, v1) │ 00:00:23 #3488 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:23 #3489 [Verbose] > │ US5_0 │ 00:00:23 #3490 [Verbose] > │ and method17 (v0 : UH1, v1 : int64) : US5 = │ 00:00:23 #3491 [Verbose] > │ match v0 with │ 00:00:23 #3492 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:23 #3493 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:23 #3494 [Verbose] > │ if v5 then │ 00:00:23 #3495 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:23 #3496 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:23 #3497 [Verbose] > │ let v8 : int64 = v7 * 21936950640377856L │ 00:00:23 #3498 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {21y} / acc: │ 00:00:23 #3499 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:23 #3500 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:23 #3501 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:23 #3502 [Verbose] > │ method18(v4, v10) │ 00:00:23 #3503 [Verbose] > │ else │ 00:00:23 #3504 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {21y} / acc: │ 00:00:23 #3505 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:23 #3506 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:23 #3507 [Verbose] > │ method18(v4, v1) │ 00:00:23 #3508 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:23 #3509 [Verbose] > │ US5_0 │ 00:00:23 #3510 [Verbose] > │ and method16 (v0 : UH1, v1 : int64) : US5 = │ 00:00:23 #3511 [Verbose] > │ match v0 with │ 00:00:23 #3512 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:23 #3513 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:23 #3514 [Verbose] > │ if v5 then │ 00:00:23 #3515 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:23 #3516 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:23 #3517 [Verbose] > │ let v8 : int64 = v7 * 131621703842267136L │ 00:00:23 #3518 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {22y} / acc: │ 00:00:23 #3519 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:23 #3520 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:23 #3521 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:23 #3522 [Verbose] > │ method17(v4, v10) │ 00:00:23 #3523 [Verbose] > │ else │ 00:00:23 #3524 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {22y} / acc: │ 00:00:23 #3525 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:23 #3526 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:23 #3527 [Verbose] > │ method17(v4, v1) │ 00:00:23 #3528 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:23 #3529 [Verbose] > │ US5_0 │ 00:00:23 #3530 [Verbose] > │ and method15 (v0 : UH1, v1 : int64) : US5 = │ 00:00:23 #3531 [Verbose] > │ match v0 with │ 00:00:23 #3532 [Verbose] > │ | UH1_0(v3, v4) -> (* Cons *) │ 00:00:23 #3533 [Verbose] > │ let v5 : bool = v3 > 1uy │ 00:00:23 #3534 [Verbose] > │ if v5 then │ 00:00:23 #3535 [Verbose] > │ let v6 : uint8 = v3 - 1uy │ 00:00:23 #3536 [Verbose] > │ let v7 : int64 = int64 v6 │ 00:00:23 #3537 [Verbose] > │ let v8 : int64 = v7 * 789730223053602816L │ 00:00:23 #3538 [Verbose] > │ let v9 : string = $"accumulate_dice_rolls / power: {23y} / acc: │ 00:00:23 #3539 [Verbose] > │ {v1} / roll: {v3} / value: {v8}" │ 00:00:23 #3540 [Verbose] > │ System.Console.WriteLine v9 │ 00:00:23 #3541 [Verbose] > │ let v10 : int64 = v1 + v8 │ 00:00:23 #3542 [Verbose] > │ method16(v4, v10) │ 00:00:23 #3543 [Verbose] > │ else │ 00:00:23 #3544 [Verbose] > │ let v12 : string = $"accumulate_dice_rolls / power: {23y} / acc: │ 00:00:23 #3545 [Verbose] > │ {v1} / roll: {v3}" │ 00:00:23 #3546 [Verbose] > │ System.Console.WriteLine v12 │ 00:00:23 #3547 [Verbose] > │ method16(v4, v1) │ 00:00:23 #3548 [Verbose] > │ | UH1_1 -> (* Nil *) │ 00:00:23 #3549 [Verbose] > │ US5_0 │ 00:00:23 #3550 [Verbose] > │ and method14 (v0 : UH1, v1 : int8) : int64 = │ 00:00:23 #3551 [Verbose] > │ let v2 : bool = v1 < 24y │ 00:00:23 #3552 [Verbose] > │ if v2 then │ 00:00:23 #3553 [Verbose] > │ let mutable result = None │ 00:00:23 #3554 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3555 [Verbose] > │ #if !WASM │ 00:00:23 #3556 [Verbose] > │ let v3 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), │ 00:00:23 #3557 [Verbose] > │ 1..7)" │ 00:00:23 #3558 [Verbose] > │ let v4 : uint8 = Fable.Core.RustInterop.emitRustExpr () v3 │ 00:00:23 #3559 [Verbose] > │ v4 │ 00:00:23 #3560 [Verbose] > │ #else │ 00:00:23 #3561 [Verbose] > │ let v5 : string = "1" │ 00:00:23 #3562 [Verbose] > │ let v6 : uint8 = Fable.Core.RustInterop.emitRustExpr () v5 │ 00:00:23 #3563 [Verbose] > │ v6 │ 00:00:23 #3564 [Verbose] > │ #endif │ 00:00:23 #3565 [Verbose] > │ #else │ 00:00:23 #3566 [Verbose] > │ let v7 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3567 [Verbose] > │ v7 │ 00:00:23 #3568 [Verbose] > │ #endif │ 00:00:23 #3569 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3570 [Verbose] > │ let v8 : uint8 = result |> Option.get │ 00:00:23 #3571 [Verbose] > │ let v9 : UH1 = UH1_0(v8, v0) │ 00:00:23 #3572 [Verbose] > │ let v10 : int8 = v1 + 1y │ 00:00:23 #3573 [Verbose] > │ method14(v9, v10) │ 00:00:23 #3574 [Verbose] > │ else │ 00:00:23 #3575 [Verbose] > │ let v12 : int64 = 0L │ 00:00:23 #3576 [Verbose] > │ let v13 : US5 = method15(v0, v12) │ 00:00:23 #3577 [Verbose] > │ match v13 with │ 00:00:23 #3578 [Verbose] > │ | US5_1(v14, v15) -> (* Some *) │ 00:00:23 #3579 [Verbose] > │ let v16 : bool = v14 <= 9223372036854775807L │ 00:00:23 #3580 [Verbose] > │ if v16 then │ 00:00:23 #3581 [Verbose] > │ v14 │ 00:00:23 #3582 [Verbose] > │ else │ 00:00:23 #3583 [Verbose] > │ let mutable result = None │ 00:00:23 #3584 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3585 [Verbose] > │ #if !WASM │ 00:00:23 #3586 [Verbose] > │ let v17 : string = "rand::Rng::gen_range(&mut │ 00:00:23 #3587 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:23 #3588 [Verbose] > │ let v18 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3589 [Verbose] > │ v18 │ 00:00:23 #3590 [Verbose] > │ #else │ 00:00:23 #3591 [Verbose] > │ let v19 : string = "1" │ 00:00:23 #3592 [Verbose] > │ let v20 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3593 [Verbose] > │ v20 │ 00:00:23 #3594 [Verbose] > │ #endif │ 00:00:23 #3595 [Verbose] > │ #else │ 00:00:23 #3596 [Verbose] > │ let v21 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3597 [Verbose] > │ v21 │ 00:00:23 #3598 [Verbose] > │ #endif │ 00:00:23 #3599 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3600 [Verbose] > │ let v22 : uint8 = result |> Option.get │ 00:00:23 #3601 [Verbose] > │ let mutable result = None │ 00:00:23 #3602 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3603 [Verbose] > │ #if !WASM │ 00:00:23 #3604 [Verbose] > │ let v23 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3605 [Verbose] > │ v23 │ 00:00:23 #3606 [Verbose] > │ #else │ 00:00:23 #3607 [Verbose] > │ let v24 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3608 [Verbose] > │ v24 │ 00:00:23 #3609 [Verbose] > │ #endif │ 00:00:23 #3610 [Verbose] > │ #else │ 00:00:23 #3611 [Verbose] > │ let v25 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3612 [Verbose] > │ v25 │ 00:00:23 #3613 [Verbose] > │ #endif │ 00:00:23 #3614 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3615 [Verbose] > │ let v26 : uint8 = result |> Option.get │ 00:00:23 #3616 [Verbose] > │ let mutable result = None │ 00:00:23 #3617 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3618 [Verbose] > │ #if !WASM │ 00:00:23 #3619 [Verbose] > │ let v27 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3620 [Verbose] > │ v27 │ 00:00:23 #3621 [Verbose] > │ #else │ 00:00:23 #3622 [Verbose] > │ let v28 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3623 [Verbose] > │ v28 │ 00:00:23 #3624 [Verbose] > │ #endif │ 00:00:23 #3625 [Verbose] > │ #else │ 00:00:23 #3626 [Verbose] > │ let v29 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3627 [Verbose] > │ v29 │ 00:00:23 #3628 [Verbose] > │ #endif │ 00:00:23 #3629 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3630 [Verbose] > │ let v30 : uint8 = result |> Option.get │ 00:00:23 #3631 [Verbose] > │ let mutable result = None │ 00:00:23 #3632 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3633 [Verbose] > │ #if !WASM │ 00:00:23 #3634 [Verbose] > │ let v31 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3635 [Verbose] > │ v31 │ 00:00:23 #3636 [Verbose] > │ #else │ 00:00:23 #3637 [Verbose] > │ let v32 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3638 [Verbose] > │ v32 │ 00:00:23 #3639 [Verbose] > │ #endif │ 00:00:23 #3640 [Verbose] > │ #else │ 00:00:23 #3641 [Verbose] > │ let v33 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3642 [Verbose] > │ v33 │ 00:00:23 #3643 [Verbose] > │ #endif │ 00:00:23 #3644 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3645 [Verbose] > │ let v34 : uint8 = result |> Option.get │ 00:00:23 #3646 [Verbose] > │ let mutable result = None │ 00:00:23 #3647 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3648 [Verbose] > │ #if !WASM │ 00:00:23 #3649 [Verbose] > │ let v35 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3650 [Verbose] > │ v35 │ 00:00:23 #3651 [Verbose] > │ #else │ 00:00:23 #3652 [Verbose] > │ let v36 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3653 [Verbose] > │ v36 │ 00:00:23 #3654 [Verbose] > │ #endif │ 00:00:23 #3655 [Verbose] > │ #else │ 00:00:23 #3656 [Verbose] > │ let v37 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3657 [Verbose] > │ v37 │ 00:00:23 #3658 [Verbose] > │ #endif │ 00:00:23 #3659 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3660 [Verbose] > │ let v38 : uint8 = result |> Option.get │ 00:00:23 #3661 [Verbose] > │ let mutable result = None │ 00:00:23 #3662 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3663 [Verbose] > │ #if !WASM │ 00:00:23 #3664 [Verbose] > │ let v39 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3665 [Verbose] > │ v39 │ 00:00:23 #3666 [Verbose] > │ #else │ 00:00:23 #3667 [Verbose] > │ let v40 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3668 [Verbose] > │ v40 │ 00:00:23 #3669 [Verbose] > │ #endif │ 00:00:23 #3670 [Verbose] > │ #else │ 00:00:23 #3671 [Verbose] > │ let v41 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3672 [Verbose] > │ v41 │ 00:00:23 #3673 [Verbose] > │ #endif │ 00:00:23 #3674 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3675 [Verbose] > │ let v42 : uint8 = result |> Option.get │ 00:00:23 #3676 [Verbose] > │ let mutable result = None │ 00:00:23 #3677 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3678 [Verbose] > │ #if !WASM │ 00:00:23 #3679 [Verbose] > │ let v43 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3680 [Verbose] > │ v43 │ 00:00:23 #3681 [Verbose] > │ #else │ 00:00:23 #3682 [Verbose] > │ let v44 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3683 [Verbose] > │ v44 │ 00:00:23 #3684 [Verbose] > │ #endif │ 00:00:23 #3685 [Verbose] > │ #else │ 00:00:23 #3686 [Verbose] > │ let v45 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3687 [Verbose] > │ v45 │ 00:00:23 #3688 [Verbose] > │ #endif │ 00:00:23 #3689 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3690 [Verbose] > │ let v46 : uint8 = result |> Option.get │ 00:00:23 #3691 [Verbose] > │ let mutable result = None │ 00:00:23 #3692 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3693 [Verbose] > │ #if !WASM │ 00:00:23 #3694 [Verbose] > │ let v47 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3695 [Verbose] > │ v47 │ 00:00:23 #3696 [Verbose] > │ #else │ 00:00:23 #3697 [Verbose] > │ let v48 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3698 [Verbose] > │ v48 │ 00:00:23 #3699 [Verbose] > │ #endif │ 00:00:23 #3700 [Verbose] > │ #else │ 00:00:23 #3701 [Verbose] > │ let v49 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3702 [Verbose] > │ v49 │ 00:00:23 #3703 [Verbose] > │ #endif │ 00:00:23 #3704 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3705 [Verbose] > │ let v50 : uint8 = result |> Option.get │ 00:00:23 #3706 [Verbose] > │ let mutable result = None │ 00:00:23 #3707 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3708 [Verbose] > │ #if !WASM │ 00:00:23 #3709 [Verbose] > │ let v51 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3710 [Verbose] > │ v51 │ 00:00:23 #3711 [Verbose] > │ #else │ 00:00:23 #3712 [Verbose] > │ let v52 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3713 [Verbose] > │ v52 │ 00:00:23 #3714 [Verbose] > │ #endif │ 00:00:23 #3715 [Verbose] > │ #else │ 00:00:23 #3716 [Verbose] > │ let v53 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3717 [Verbose] > │ v53 │ 00:00:23 #3718 [Verbose] > │ #endif │ 00:00:23 #3719 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3720 [Verbose] > │ let v54 : uint8 = result |> Option.get │ 00:00:23 #3721 [Verbose] > │ let mutable result = None │ 00:00:23 #3722 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3723 [Verbose] > │ #if !WASM │ 00:00:23 #3724 [Verbose] > │ let v55 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3725 [Verbose] > │ v55 │ 00:00:23 #3726 [Verbose] > │ #else │ 00:00:23 #3727 [Verbose] > │ let v56 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3728 [Verbose] > │ v56 │ 00:00:23 #3729 [Verbose] > │ #endif │ 00:00:23 #3730 [Verbose] > │ #else │ 00:00:23 #3731 [Verbose] > │ let v57 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3732 [Verbose] > │ v57 │ 00:00:23 #3733 [Verbose] > │ #endif │ 00:00:23 #3734 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3735 [Verbose] > │ let v58 : uint8 = result |> Option.get │ 00:00:23 #3736 [Verbose] > │ let mutable result = None │ 00:00:23 #3737 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3738 [Verbose] > │ #if !WASM │ 00:00:23 #3739 [Verbose] > │ let v59 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3740 [Verbose] > │ v59 │ 00:00:23 #3741 [Verbose] > │ #else │ 00:00:23 #3742 [Verbose] > │ let v60 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3743 [Verbose] > │ v60 │ 00:00:23 #3744 [Verbose] > │ #endif │ 00:00:23 #3745 [Verbose] > │ #else │ 00:00:23 #3746 [Verbose] > │ let v61 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3747 [Verbose] > │ v61 │ 00:00:23 #3748 [Verbose] > │ #endif │ 00:00:23 #3749 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3750 [Verbose] > │ let v62 : uint8 = result |> Option.get │ 00:00:23 #3751 [Verbose] > │ let mutable result = None │ 00:00:23 #3752 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3753 [Verbose] > │ #if !WASM │ 00:00:23 #3754 [Verbose] > │ let v63 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3755 [Verbose] > │ v63 │ 00:00:23 #3756 [Verbose] > │ #else │ 00:00:23 #3757 [Verbose] > │ let v64 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3758 [Verbose] > │ v64 │ 00:00:23 #3759 [Verbose] > │ #endif │ 00:00:23 #3760 [Verbose] > │ #else │ 00:00:23 #3761 [Verbose] > │ let v65 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3762 [Verbose] > │ v65 │ 00:00:23 #3763 [Verbose] > │ #endif │ 00:00:23 #3764 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3765 [Verbose] > │ let v66 : uint8 = result |> Option.get │ 00:00:23 #3766 [Verbose] > │ let mutable result = None │ 00:00:23 #3767 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3768 [Verbose] > │ #if !WASM │ 00:00:23 #3769 [Verbose] > │ let v67 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3770 [Verbose] > │ v67 │ 00:00:23 #3771 [Verbose] > │ #else │ 00:00:23 #3772 [Verbose] > │ let v68 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3773 [Verbose] > │ v68 │ 00:00:23 #3774 [Verbose] > │ #endif │ 00:00:23 #3775 [Verbose] > │ #else │ 00:00:23 #3776 [Verbose] > │ let v69 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3777 [Verbose] > │ v69 │ 00:00:23 #3778 [Verbose] > │ #endif │ 00:00:23 #3779 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3780 [Verbose] > │ let v70 : uint8 = result |> Option.get │ 00:00:23 #3781 [Verbose] > │ let mutable result = None │ 00:00:23 #3782 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3783 [Verbose] > │ #if !WASM │ 00:00:23 #3784 [Verbose] > │ let v71 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3785 [Verbose] > │ v71 │ 00:00:23 #3786 [Verbose] > │ #else │ 00:00:23 #3787 [Verbose] > │ let v72 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3788 [Verbose] > │ v72 │ 00:00:23 #3789 [Verbose] > │ #endif │ 00:00:23 #3790 [Verbose] > │ #else │ 00:00:23 #3791 [Verbose] > │ let v73 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3792 [Verbose] > │ v73 │ 00:00:23 #3793 [Verbose] > │ #endif │ 00:00:23 #3794 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3795 [Verbose] > │ let v74 : uint8 = result |> Option.get │ 00:00:23 #3796 [Verbose] > │ let mutable result = None │ 00:00:23 #3797 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3798 [Verbose] > │ #if !WASM │ 00:00:23 #3799 [Verbose] > │ let v75 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3800 [Verbose] > │ v75 │ 00:00:23 #3801 [Verbose] > │ #else │ 00:00:23 #3802 [Verbose] > │ let v76 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3803 [Verbose] > │ v76 │ 00:00:23 #3804 [Verbose] > │ #endif │ 00:00:23 #3805 [Verbose] > │ #else │ 00:00:23 #3806 [Verbose] > │ let v77 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3807 [Verbose] > │ v77 │ 00:00:23 #3808 [Verbose] > │ #endif │ 00:00:23 #3809 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3810 [Verbose] > │ let v78 : uint8 = result |> Option.get │ 00:00:23 #3811 [Verbose] > │ let mutable result = None │ 00:00:23 #3812 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3813 [Verbose] > │ #if !WASM │ 00:00:23 #3814 [Verbose] > │ let v79 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3815 [Verbose] > │ v79 │ 00:00:23 #3816 [Verbose] > │ #else │ 00:00:23 #3817 [Verbose] > │ let v80 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3818 [Verbose] > │ v80 │ 00:00:23 #3819 [Verbose] > │ #endif │ 00:00:23 #3820 [Verbose] > │ #else │ 00:00:23 #3821 [Verbose] > │ let v81 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3822 [Verbose] > │ v81 │ 00:00:23 #3823 [Verbose] > │ #endif │ 00:00:23 #3824 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3825 [Verbose] > │ let v82 : uint8 = result |> Option.get │ 00:00:23 #3826 [Verbose] > │ let mutable result = None │ 00:00:23 #3827 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3828 [Verbose] > │ #if !WASM │ 00:00:23 #3829 [Verbose] > │ let v83 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3830 [Verbose] > │ v83 │ 00:00:23 #3831 [Verbose] > │ #else │ 00:00:23 #3832 [Verbose] > │ let v84 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3833 [Verbose] > │ v84 │ 00:00:23 #3834 [Verbose] > │ #endif │ 00:00:23 #3835 [Verbose] > │ #else │ 00:00:23 #3836 [Verbose] > │ let v85 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3837 [Verbose] > │ v85 │ 00:00:23 #3838 [Verbose] > │ #endif │ 00:00:23 #3839 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3840 [Verbose] > │ let v86 : uint8 = result |> Option.get │ 00:00:23 #3841 [Verbose] > │ let mutable result = None │ 00:00:23 #3842 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3843 [Verbose] > │ #if !WASM │ 00:00:23 #3844 [Verbose] > │ let v87 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3845 [Verbose] > │ v87 │ 00:00:23 #3846 [Verbose] > │ #else │ 00:00:23 #3847 [Verbose] > │ let v88 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3848 [Verbose] > │ v88 │ 00:00:23 #3849 [Verbose] > │ #endif │ 00:00:23 #3850 [Verbose] > │ #else │ 00:00:23 #3851 [Verbose] > │ let v89 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3852 [Verbose] > │ v89 │ 00:00:23 #3853 [Verbose] > │ #endif │ 00:00:23 #3854 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3855 [Verbose] > │ let v90 : uint8 = result |> Option.get │ 00:00:23 #3856 [Verbose] > │ let mutable result = None │ 00:00:23 #3857 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3858 [Verbose] > │ #if !WASM │ 00:00:23 #3859 [Verbose] > │ let v91 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3860 [Verbose] > │ v91 │ 00:00:23 #3861 [Verbose] > │ #else │ 00:00:23 #3862 [Verbose] > │ let v92 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3863 [Verbose] > │ v92 │ 00:00:23 #3864 [Verbose] > │ #endif │ 00:00:23 #3865 [Verbose] > │ #else │ 00:00:23 #3866 [Verbose] > │ let v93 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3867 [Verbose] > │ v93 │ 00:00:23 #3868 [Verbose] > │ #endif │ 00:00:23 #3869 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3870 [Verbose] > │ let v94 : uint8 = result |> Option.get │ 00:00:23 #3871 [Verbose] > │ let mutable result = None │ 00:00:23 #3872 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3873 [Verbose] > │ #if !WASM │ 00:00:23 #3874 [Verbose] > │ let v95 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3875 [Verbose] > │ v95 │ 00:00:23 #3876 [Verbose] > │ #else │ 00:00:23 #3877 [Verbose] > │ let v96 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 │ 00:00:23 #3878 [Verbose] > │ v96 │ 00:00:23 #3879 [Verbose] > │ #endif │ 00:00:23 #3880 [Verbose] > │ #else │ 00:00:23 #3881 [Verbose] > │ let v97 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3882 [Verbose] > │ v97 │ 00:00:23 #3883 [Verbose] > │ #endif │ 00:00:23 #3884 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3885 [Verbose] > │ let v98 : uint8 = result |> Option.get │ 00:00:23 #3886 [Verbose] > │ let mutable result = None │ 00:00:23 #3887 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3888 [Verbose] > │ #if !WASM │ 00:00:23 #3889 [Verbose] > │ let v99 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 │ 00:00:23 #3890 [Verbose] > │ v99 │ 00:00:23 #3891 [Verbose] > │ #else │ 00:00:23 #3892 [Verbose] > │ let v100 : uint8 = Fable.Core.RustInterop.emitRustExpr () │ 00:00:23 #3893 [Verbose] > │ v19 │ 00:00:23 #3894 [Verbose] > │ v100 │ 00:00:23 #3895 [Verbose] > │ #endif │ 00:00:23 #3896 [Verbose] > │ #else │ 00:00:23 #3897 [Verbose] > │ let v101 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3898 [Verbose] > │ v101 │ 00:00:23 #3899 [Verbose] > │ #endif │ 00:00:23 #3900 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3901 [Verbose] > │ let v102 : uint8 = result |> Option.get │ 00:00:23 #3902 [Verbose] > │ let mutable result = None │ 00:00:23 #3903 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3904 [Verbose] > │ #if !WASM │ 00:00:23 #3905 [Verbose] > │ let v103 : uint8 = Fable.Core.RustInterop.emitRustExpr () │ 00:00:23 #3906 [Verbose] > │ v17 │ 00:00:23 #3907 [Verbose] > │ v103 │ 00:00:23 #3908 [Verbose] > │ #else │ 00:00:23 #3909 [Verbose] > │ let v104 : uint8 = Fable.Core.RustInterop.emitRustExpr () │ 00:00:23 #3910 [Verbose] > │ v19 │ 00:00:23 #3911 [Verbose] > │ v104 │ 00:00:23 #3912 [Verbose] > │ #endif │ 00:00:23 #3913 [Verbose] > │ #else │ 00:00:23 #3914 [Verbose] > │ let v105 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3915 [Verbose] > │ v105 │ 00:00:23 #3916 [Verbose] > │ #endif │ 00:00:23 #3917 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3918 [Verbose] > │ let v106 : uint8 = result |> Option.get │ 00:00:23 #3919 [Verbose] > │ let mutable result = None │ 00:00:23 #3920 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3921 [Verbose] > │ #if !WASM │ 00:00:23 #3922 [Verbose] > │ let v107 : uint8 = Fable.Core.RustInterop.emitRustExpr () │ 00:00:23 #3923 [Verbose] > │ v17 │ 00:00:23 #3924 [Verbose] > │ v107 │ 00:00:23 #3925 [Verbose] > │ #else │ 00:00:23 #3926 [Verbose] > │ let v108 : uint8 = Fable.Core.RustInterop.emitRustExpr () │ 00:00:23 #3927 [Verbose] > │ v19 │ 00:00:23 #3928 [Verbose] > │ v108 │ 00:00:23 #3929 [Verbose] > │ #endif │ 00:00:23 #3930 [Verbose] > │ #else │ 00:00:23 #3931 [Verbose] > │ let v109 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3932 [Verbose] > │ v109 │ 00:00:23 #3933 [Verbose] > │ #endif │ 00:00:23 #3934 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3935 [Verbose] > │ let v110 : uint8 = result |> Option.get │ 00:00:23 #3936 [Verbose] > │ let v111 : UH1 = UH1_1 │ 00:00:23 #3937 [Verbose] > │ let v112 : UH1 = UH1_0(v110, v111) │ 00:00:23 #3938 [Verbose] > │ let v113 : UH1 = UH1_0(v106, v112) │ 00:00:23 #3939 [Verbose] > │ let v114 : UH1 = UH1_0(v102, v113) │ 00:00:23 #3940 [Verbose] > │ let v115 : UH1 = UH1_0(v98, v114) │ 00:00:23 #3941 [Verbose] > │ let v116 : UH1 = UH1_0(v94, v115) │ 00:00:23 #3942 [Verbose] > │ let v117 : UH1 = UH1_0(v90, v116) │ 00:00:23 #3943 [Verbose] > │ let v118 : UH1 = UH1_0(v86, v117) │ 00:00:23 #3944 [Verbose] > │ let v119 : UH1 = UH1_0(v82, v118) │ 00:00:23 #3945 [Verbose] > │ let v120 : UH1 = UH1_0(v78, v119) │ 00:00:23 #3946 [Verbose] > │ let v121 : UH1 = UH1_0(v74, v120) │ 00:00:23 #3947 [Verbose] > │ let v122 : UH1 = UH1_0(v70, v121) │ 00:00:23 #3948 [Verbose] > │ let v123 : UH1 = UH1_0(v66, v122) │ 00:00:23 #3949 [Verbose] > │ let v124 : UH1 = UH1_0(v62, v123) │ 00:00:23 #3950 [Verbose] > │ let v125 : UH1 = UH1_0(v58, v124) │ 00:00:23 #3951 [Verbose] > │ let v126 : UH1 = UH1_0(v54, v125) │ 00:00:23 #3952 [Verbose] > │ let v127 : UH1 = UH1_0(v50, v126) │ 00:00:23 #3953 [Verbose] > │ let v128 : UH1 = UH1_0(v46, v127) │ 00:00:23 #3954 [Verbose] > │ let v129 : UH1 = UH1_0(v42, v128) │ 00:00:23 #3955 [Verbose] > │ let v130 : UH1 = UH1_0(v38, v129) │ 00:00:23 #3956 [Verbose] > │ let v131 : UH1 = UH1_0(v34, v130) │ 00:00:23 #3957 [Verbose] > │ let v132 : UH1 = UH1_0(v30, v131) │ 00:00:23 #3958 [Verbose] > │ let v133 : UH1 = UH1_0(v26, v132) │ 00:00:23 #3959 [Verbose] > │ let v134 : UH1 = UH1_0(v22, v133) │ 00:00:23 #3960 [Verbose] > │ let v135 : int8 = 23y │ 00:00:23 #3961 [Verbose] > │ method14(v134, v135) │ 00:00:23 #3962 [Verbose] > │ | _ -> │ 00:00:23 #3963 [Verbose] > │ let mutable result = None │ 00:00:23 #3964 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3965 [Verbose] > │ #if !WASM │ 00:00:23 #3966 [Verbose] > │ let v138 : string = "rand::Rng::gen_range(&mut │ 00:00:23 #3967 [Verbose] > │ rand::thread_rng(), 1..7)" │ 00:00:23 #3968 [Verbose] > │ let v139 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #3969 [Verbose] > │ v139 │ 00:00:23 #3970 [Verbose] > │ #else │ 00:00:23 #3971 [Verbose] > │ let v140 : string = "1" │ 00:00:23 #3972 [Verbose] > │ let v141 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #3973 [Verbose] > │ v141 │ 00:00:23 #3974 [Verbose] > │ #endif │ 00:00:23 #3975 [Verbose] > │ #else │ 00:00:23 #3976 [Verbose] > │ let v142 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3977 [Verbose] > │ v142 │ 00:00:23 #3978 [Verbose] > │ #endif │ 00:00:23 #3979 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3980 [Verbose] > │ let v143 : uint8 = result |> Option.get │ 00:00:23 #3981 [Verbose] > │ let mutable result = None │ 00:00:23 #3982 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3983 [Verbose] > │ #if !WASM │ 00:00:23 #3984 [Verbose] > │ let v144 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #3985 [Verbose] > │ v144 │ 00:00:23 #3986 [Verbose] > │ #else │ 00:00:23 #3987 [Verbose] > │ let v145 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #3988 [Verbose] > │ v145 │ 00:00:23 #3989 [Verbose] > │ #endif │ 00:00:23 #3990 [Verbose] > │ #else │ 00:00:23 #3991 [Verbose] > │ let v146 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #3992 [Verbose] > │ v146 │ 00:00:23 #3993 [Verbose] > │ #endif │ 00:00:23 #3994 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #3995 [Verbose] > │ let v147 : uint8 = result |> Option.get │ 00:00:23 #3996 [Verbose] > │ let mutable result = None │ 00:00:23 #3997 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #3998 [Verbose] > │ #if !WASM │ 00:00:23 #3999 [Verbose] > │ let v148 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4000 [Verbose] > │ v148 │ 00:00:23 #4001 [Verbose] > │ #else │ 00:00:23 #4002 [Verbose] > │ let v149 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4003 [Verbose] > │ v149 │ 00:00:23 #4004 [Verbose] > │ #endif │ 00:00:23 #4005 [Verbose] > │ #else │ 00:00:23 #4006 [Verbose] > │ let v150 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4007 [Verbose] > │ v150 │ 00:00:23 #4008 [Verbose] > │ #endif │ 00:00:23 #4009 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4010 [Verbose] > │ let v151 : uint8 = result |> Option.get │ 00:00:23 #4011 [Verbose] > │ let mutable result = None │ 00:00:23 #4012 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4013 [Verbose] > │ #if !WASM │ 00:00:23 #4014 [Verbose] > │ let v152 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4015 [Verbose] > │ v152 │ 00:00:23 #4016 [Verbose] > │ #else │ 00:00:23 #4017 [Verbose] > │ let v153 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4018 [Verbose] > │ v153 │ 00:00:23 #4019 [Verbose] > │ #endif │ 00:00:23 #4020 [Verbose] > │ #else │ 00:00:23 #4021 [Verbose] > │ let v154 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4022 [Verbose] > │ v154 │ 00:00:23 #4023 [Verbose] > │ #endif │ 00:00:23 #4024 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4025 [Verbose] > │ let v155 : uint8 = result |> Option.get │ 00:00:23 #4026 [Verbose] > │ let mutable result = None │ 00:00:23 #4027 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4028 [Verbose] > │ #if !WASM │ 00:00:23 #4029 [Verbose] > │ let v156 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4030 [Verbose] > │ v156 │ 00:00:23 #4031 [Verbose] > │ #else │ 00:00:23 #4032 [Verbose] > │ let v157 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4033 [Verbose] > │ v157 │ 00:00:23 #4034 [Verbose] > │ #endif │ 00:00:23 #4035 [Verbose] > │ #else │ 00:00:23 #4036 [Verbose] > │ let v158 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4037 [Verbose] > │ v158 │ 00:00:23 #4038 [Verbose] > │ #endif │ 00:00:23 #4039 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4040 [Verbose] > │ let v159 : uint8 = result |> Option.get │ 00:00:23 #4041 [Verbose] > │ let mutable result = None │ 00:00:23 #4042 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4043 [Verbose] > │ #if !WASM │ 00:00:23 #4044 [Verbose] > │ let v160 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4045 [Verbose] > │ v160 │ 00:00:23 #4046 [Verbose] > │ #else │ 00:00:23 #4047 [Verbose] > │ let v161 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4048 [Verbose] > │ v161 │ 00:00:23 #4049 [Verbose] > │ #endif │ 00:00:23 #4050 [Verbose] > │ #else │ 00:00:23 #4051 [Verbose] > │ let v162 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4052 [Verbose] > │ v162 │ 00:00:23 #4053 [Verbose] > │ #endif │ 00:00:23 #4054 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4055 [Verbose] > │ let v163 : uint8 = result |> Option.get │ 00:00:23 #4056 [Verbose] > │ let mutable result = None │ 00:00:23 #4057 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4058 [Verbose] > │ #if !WASM │ 00:00:23 #4059 [Verbose] > │ let v164 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4060 [Verbose] > │ v164 │ 00:00:23 #4061 [Verbose] > │ #else │ 00:00:23 #4062 [Verbose] > │ let v165 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4063 [Verbose] > │ v165 │ 00:00:23 #4064 [Verbose] > │ #endif │ 00:00:23 #4065 [Verbose] > │ #else │ 00:00:23 #4066 [Verbose] > │ let v166 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4067 [Verbose] > │ v166 │ 00:00:23 #4068 [Verbose] > │ #endif │ 00:00:23 #4069 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4070 [Verbose] > │ let v167 : uint8 = result |> Option.get │ 00:00:23 #4071 [Verbose] > │ let mutable result = None │ 00:00:23 #4072 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4073 [Verbose] > │ #if !WASM │ 00:00:23 #4074 [Verbose] > │ let v168 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4075 [Verbose] > │ v168 │ 00:00:23 #4076 [Verbose] > │ #else │ 00:00:23 #4077 [Verbose] > │ let v169 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4078 [Verbose] > │ v169 │ 00:00:23 #4079 [Verbose] > │ #endif │ 00:00:23 #4080 [Verbose] > │ #else │ 00:00:23 #4081 [Verbose] > │ let v170 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4082 [Verbose] > │ v170 │ 00:00:23 #4083 [Verbose] > │ #endif │ 00:00:23 #4084 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4085 [Verbose] > │ let v171 : uint8 = result |> Option.get │ 00:00:23 #4086 [Verbose] > │ let mutable result = None │ 00:00:23 #4087 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4088 [Verbose] > │ #if !WASM │ 00:00:23 #4089 [Verbose] > │ let v172 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4090 [Verbose] > │ v172 │ 00:00:23 #4091 [Verbose] > │ #else │ 00:00:23 #4092 [Verbose] > │ let v173 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4093 [Verbose] > │ v173 │ 00:00:23 #4094 [Verbose] > │ #endif │ 00:00:23 #4095 [Verbose] > │ #else │ 00:00:23 #4096 [Verbose] > │ let v174 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4097 [Verbose] > │ v174 │ 00:00:23 #4098 [Verbose] > │ #endif │ 00:00:23 #4099 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4100 [Verbose] > │ let v175 : uint8 = result |> Option.get │ 00:00:23 #4101 [Verbose] > │ let mutable result = None │ 00:00:23 #4102 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4103 [Verbose] > │ #if !WASM │ 00:00:23 #4104 [Verbose] > │ let v176 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4105 [Verbose] > │ v176 │ 00:00:23 #4106 [Verbose] > │ #else │ 00:00:23 #4107 [Verbose] > │ let v177 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4108 [Verbose] > │ v177 │ 00:00:23 #4109 [Verbose] > │ #endif │ 00:00:23 #4110 [Verbose] > │ #else │ 00:00:23 #4111 [Verbose] > │ let v178 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4112 [Verbose] > │ v178 │ 00:00:23 #4113 [Verbose] > │ #endif │ 00:00:23 #4114 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4115 [Verbose] > │ let v179 : uint8 = result |> Option.get │ 00:00:23 #4116 [Verbose] > │ let mutable result = None │ 00:00:23 #4117 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4118 [Verbose] > │ #if !WASM │ 00:00:23 #4119 [Verbose] > │ let v180 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4120 [Verbose] > │ v180 │ 00:00:23 #4121 [Verbose] > │ #else │ 00:00:23 #4122 [Verbose] > │ let v181 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4123 [Verbose] > │ v181 │ 00:00:23 #4124 [Verbose] > │ #endif │ 00:00:23 #4125 [Verbose] > │ #else │ 00:00:23 #4126 [Verbose] > │ let v182 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4127 [Verbose] > │ v182 │ 00:00:23 #4128 [Verbose] > │ #endif │ 00:00:23 #4129 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4130 [Verbose] > │ let v183 : uint8 = result |> Option.get │ 00:00:23 #4131 [Verbose] > │ let mutable result = None │ 00:00:23 #4132 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4133 [Verbose] > │ #if !WASM │ 00:00:23 #4134 [Verbose] > │ let v184 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4135 [Verbose] > │ v184 │ 00:00:23 #4136 [Verbose] > │ #else │ 00:00:23 #4137 [Verbose] > │ let v185 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4138 [Verbose] > │ v185 │ 00:00:23 #4139 [Verbose] > │ #endif │ 00:00:23 #4140 [Verbose] > │ #else │ 00:00:23 #4141 [Verbose] > │ let v186 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4142 [Verbose] > │ v186 │ 00:00:23 #4143 [Verbose] > │ #endif │ 00:00:23 #4144 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4145 [Verbose] > │ let v187 : uint8 = result |> Option.get │ 00:00:23 #4146 [Verbose] > │ let mutable result = None │ 00:00:23 #4147 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4148 [Verbose] > │ #if !WASM │ 00:00:23 #4149 [Verbose] > │ let v188 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4150 [Verbose] > │ v188 │ 00:00:23 #4151 [Verbose] > │ #else │ 00:00:23 #4152 [Verbose] > │ let v189 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4153 [Verbose] > │ v189 │ 00:00:23 #4154 [Verbose] > │ #endif │ 00:00:23 #4155 [Verbose] > │ #else │ 00:00:23 #4156 [Verbose] > │ let v190 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4157 [Verbose] > │ v190 │ 00:00:23 #4158 [Verbose] > │ #endif │ 00:00:23 #4159 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4160 [Verbose] > │ let v191 : uint8 = result |> Option.get │ 00:00:23 #4161 [Verbose] > │ let mutable result = None │ 00:00:23 #4162 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4163 [Verbose] > │ #if !WASM │ 00:00:23 #4164 [Verbose] > │ let v192 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4165 [Verbose] > │ v192 │ 00:00:23 #4166 [Verbose] > │ #else │ 00:00:23 #4167 [Verbose] > │ let v193 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4168 [Verbose] > │ v193 │ 00:00:23 #4169 [Verbose] > │ #endif │ 00:00:23 #4170 [Verbose] > │ #else │ 00:00:23 #4171 [Verbose] > │ let v194 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4172 [Verbose] > │ v194 │ 00:00:23 #4173 [Verbose] > │ #endif │ 00:00:23 #4174 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4175 [Verbose] > │ let v195 : uint8 = result |> Option.get │ 00:00:23 #4176 [Verbose] > │ let mutable result = None │ 00:00:23 #4177 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4178 [Verbose] > │ #if !WASM │ 00:00:23 #4179 [Verbose] > │ let v196 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4180 [Verbose] > │ v196 │ 00:00:23 #4181 [Verbose] > │ #else │ 00:00:23 #4182 [Verbose] > │ let v197 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4183 [Verbose] > │ v197 │ 00:00:23 #4184 [Verbose] > │ #endif │ 00:00:23 #4185 [Verbose] > │ #else │ 00:00:23 #4186 [Verbose] > │ let v198 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4187 [Verbose] > │ v198 │ 00:00:23 #4188 [Verbose] > │ #endif │ 00:00:23 #4189 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4190 [Verbose] > │ let v199 : uint8 = result |> Option.get │ 00:00:23 #4191 [Verbose] > │ let mutable result = None │ 00:00:23 #4192 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4193 [Verbose] > │ #if !WASM │ 00:00:23 #4194 [Verbose] > │ let v200 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4195 [Verbose] > │ v200 │ 00:00:23 #4196 [Verbose] > │ #else │ 00:00:23 #4197 [Verbose] > │ let v201 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4198 [Verbose] > │ v201 │ 00:00:23 #4199 [Verbose] > │ #endif │ 00:00:23 #4200 [Verbose] > │ #else │ 00:00:23 #4201 [Verbose] > │ let v202 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4202 [Verbose] > │ v202 │ 00:00:23 #4203 [Verbose] > │ #endif │ 00:00:23 #4204 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4205 [Verbose] > │ let v203 : uint8 = result |> Option.get │ 00:00:23 #4206 [Verbose] > │ let mutable result = None │ 00:00:23 #4207 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4208 [Verbose] > │ #if !WASM │ 00:00:23 #4209 [Verbose] > │ let v204 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4210 [Verbose] > │ v204 │ 00:00:23 #4211 [Verbose] > │ #else │ 00:00:23 #4212 [Verbose] > │ let v205 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4213 [Verbose] > │ v205 │ 00:00:23 #4214 [Verbose] > │ #endif │ 00:00:23 #4215 [Verbose] > │ #else │ 00:00:23 #4216 [Verbose] > │ let v206 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4217 [Verbose] > │ v206 │ 00:00:23 #4218 [Verbose] > │ #endif │ 00:00:23 #4219 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4220 [Verbose] > │ let v207 : uint8 = result |> Option.get │ 00:00:23 #4221 [Verbose] > │ let mutable result = None │ 00:00:23 #4222 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4223 [Verbose] > │ #if !WASM │ 00:00:23 #4224 [Verbose] > │ let v208 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4225 [Verbose] > │ v208 │ 00:00:23 #4226 [Verbose] > │ #else │ 00:00:23 #4227 [Verbose] > │ let v209 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4228 [Verbose] > │ v209 │ 00:00:23 #4229 [Verbose] > │ #endif │ 00:00:23 #4230 [Verbose] > │ #else │ 00:00:23 #4231 [Verbose] > │ let v210 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4232 [Verbose] > │ v210 │ 00:00:23 #4233 [Verbose] > │ #endif │ 00:00:23 #4234 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4235 [Verbose] > │ let v211 : uint8 = result |> Option.get │ 00:00:23 #4236 [Verbose] > │ let mutable result = None │ 00:00:23 #4237 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4238 [Verbose] > │ #if !WASM │ 00:00:23 #4239 [Verbose] > │ let v212 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4240 [Verbose] > │ v212 │ 00:00:23 #4241 [Verbose] > │ #else │ 00:00:23 #4242 [Verbose] > │ let v213 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4243 [Verbose] > │ v213 │ 00:00:23 #4244 [Verbose] > │ #endif │ 00:00:23 #4245 [Verbose] > │ #else │ 00:00:23 #4246 [Verbose] > │ let v214 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4247 [Verbose] > │ v214 │ 00:00:23 #4248 [Verbose] > │ #endif │ 00:00:23 #4249 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4250 [Verbose] > │ let v215 : uint8 = result |> Option.get │ 00:00:23 #4251 [Verbose] > │ let mutable result = None │ 00:00:23 #4252 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4253 [Verbose] > │ #if !WASM │ 00:00:23 #4254 [Verbose] > │ let v216 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4255 [Verbose] > │ v216 │ 00:00:23 #4256 [Verbose] > │ #else │ 00:00:23 #4257 [Verbose] > │ let v217 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4258 [Verbose] > │ v217 │ 00:00:23 #4259 [Verbose] > │ #endif │ 00:00:23 #4260 [Verbose] > │ #else │ 00:00:23 #4261 [Verbose] > │ let v218 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4262 [Verbose] > │ v218 │ 00:00:23 #4263 [Verbose] > │ #endif │ 00:00:23 #4264 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4265 [Verbose] > │ let v219 : uint8 = result |> Option.get │ 00:00:23 #4266 [Verbose] > │ let mutable result = None │ 00:00:23 #4267 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4268 [Verbose] > │ #if !WASM │ 00:00:23 #4269 [Verbose] > │ let v220 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4270 [Verbose] > │ v220 │ 00:00:23 #4271 [Verbose] > │ #else │ 00:00:23 #4272 [Verbose] > │ let v221 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4273 [Verbose] > │ v221 │ 00:00:23 #4274 [Verbose] > │ #endif │ 00:00:23 #4275 [Verbose] > │ #else │ 00:00:23 #4276 [Verbose] > │ let v222 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4277 [Verbose] > │ v222 │ 00:00:23 #4278 [Verbose] > │ #endif │ 00:00:23 #4279 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4280 [Verbose] > │ let v223 : uint8 = result |> Option.get │ 00:00:23 #4281 [Verbose] > │ let mutable result = None │ 00:00:23 #4282 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4283 [Verbose] > │ #if !WASM │ 00:00:23 #4284 [Verbose] > │ let v224 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4285 [Verbose] > │ v224 │ 00:00:23 #4286 [Verbose] > │ #else │ 00:00:23 #4287 [Verbose] > │ let v225 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4288 [Verbose] > │ v225 │ 00:00:23 #4289 [Verbose] > │ #endif │ 00:00:23 #4290 [Verbose] > │ #else │ 00:00:23 #4291 [Verbose] > │ let v226 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4292 [Verbose] > │ v226 │ 00:00:23 #4293 [Verbose] > │ #endif │ 00:00:23 #4294 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4295 [Verbose] > │ let v227 : uint8 = result |> Option.get │ 00:00:23 #4296 [Verbose] > │ let mutable result = None │ 00:00:23 #4297 [Verbose] > │ #if FABLE_COMPILER_RUST │ 00:00:23 #4298 [Verbose] > │ #if !WASM │ 00:00:23 #4299 [Verbose] > │ let v228 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 │ 00:00:23 #4300 [Verbose] > │ v228 │ 00:00:23 #4301 [Verbose] > │ #else │ 00:00:23 #4302 [Verbose] > │ let v229 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 │ 00:00:23 #4303 [Verbose] > │ v229 │ 00:00:23 #4304 [Verbose] > │ #endif │ 00:00:23 #4305 [Verbose] > │ #else │ 00:00:23 #4306 [Verbose] > │ let v230 : uint8 = System.Random().Next (1, 7) |> uint8 │ 00:00:23 #4307 [Verbose] > │ v230 │ 00:00:23 #4308 [Verbose] > │ #endif │ 00:00:23 #4309 [Verbose] > │ |> fun x -> result <- Some x │ 00:00:23 #4310 [Verbose] > │ let v231 : uint8 = result |> Option.get │ 00:00:23 #4311 [Verbose] > │ let v232 : UH1 = UH1_1 │ 00:00:23 #4312 [Verbose] > │ let v233 : UH1 = UH1_0(v231, v232) │ 00:00:23 #4313 [Verbose] > │ let v234 : UH1 = UH1_0(v227, v233) │ 00:00:23 #4314 [Verbose] > │ let v235 : UH1 = UH1_0(v223, v234) │ 00:00:23 #4315 [Verbose] > │ let v236 : UH1 = UH1_0(v219, v235) │ 00:00:23 #4316 [Verbose] > │ let v237 : UH1 = UH1_0(v215, v236) │ 00:00:23 #4317 [Verbose] > │ let v238 : UH1 = UH1_0(v211, v237) │ 00:00:23 #4318 [Verbose] > │ let v239 : UH1 = UH1_0(v207, v238) │ 00:00:23 #4319 [Verbose] > │ let v240 : UH1 = UH1_0(v203, v239) │ 00:00:23 #4320 [Verbose] > │ let v241 : UH1 = UH1_0(v199, v240) │ 00:00:23 #4321 [Verbose] > │ let v242 : UH1 = UH1_0(v195, v241) │ 00:00:23 #4322 [Verbose] > │ let v243 : UH1 = UH1_0(v191, v242) │ 00:00:23 #4323 [Verbose] > │ let v244 : UH1 = UH1_0(v187, v243) │ 00:00:23 #4324 [Verbose] > │ let v245 : UH1 = UH1_0(v183, v244) │ 00:00:23 #4325 [Verbose] > │ let v246 : UH1 = UH1_0(v179, v245) │ 00:00:23 #4326 [Verbose] > │ let v247 : UH1 = UH1_0(v175, v246) │ 00:00:23 #4327 [Verbose] > │ let v248 : UH1 = UH1_0(v171, v247) │ 00:00:23 #4328 [Verbose] > │ let v249 : UH1 = UH1_0(v167, v248) │ 00:00:23 #4329 [Verbose] > │ let v250 : UH1 = UH1_0(v163, v249) │ 00:00:23 #4330 [Verbose] > │ let v251 : UH1 = UH1_0(v159, v250) │ 00:00:23 #4331 [Verbose] > │ let v252 : UH1 = UH1_0(v155, v251) │ 00:00:23 #4332 [Verbose] > │ let v253 : UH1 = UH1_0(v151, v252) │ 00:00:23 #4333 [Verbose] > │ let v254 : UH1 = UH1_0(v147, v253) │ 00:00:23 #4334 [Verbose] > │ let v255 : UH1 = UH1_0(v143, v254) │ 00:00:23 #4335 [Verbose] > │ let v256 : int8 = 23y │ 00:00:23 #4336 [Verbose] > │ method14(v255, v256) │ 00:00:23 #4337 [Verbose] > │ and closure80 () (v0 : (string [])) : int32 = │ 00:00:23 #4338 [Verbose] > │ let v1 : string = $"calculate_dice_count / max: {9223372036854775807L} / │ 00:00:23 #4339 [Verbose] > │ n: {24y} / p: {4738381338321616896L}" │ 00:00:23 #4340 [Verbose] > │ System.Console.WriteLine v1 │ 00:00:23 #4341 [Verbose] > │ let v2 : UH1 = UH1_1 │ 00:00:23 #4342 [Verbose] > │ let v3 : int8 = 0y │ 00:00:23 #4343 [Verbose] > │ let v4 : int64 = method14(v2, v3) │ 00:00:23 #4344 [Verbose] > │ let v5 : string = $"result: {v4}" │ 00:00:23 #4345 [Verbose] > │ System.Console.WriteLine v5 │ 00:00:23 #4346 [Verbose] > │ 0 │ 00:00:23 #4347 [Verbose] > │ let v0 : (int64 -> (UH0 -> UH0)) = closure0() │ 00:00:23 #4348 [Verbose] > │ let rotate_numbers x = v0 x │ 00:00:23 #4349 [Verbose] > │ let v1 : (UH1 -> (unit -> uint8)) = closure3() │ 00:00:23 #4350 [Verbose] > │ let create_sequential_roller x = v1 x │ 00:00:23 #4351 [Verbose] > │ let v2 : ((string -> unit) option -> ((unit -> uint8) -> (bool -> (uint64 -> │ 00:00:23 #4352 [Verbose] > │ uint64)))) = closure8() │ 00:00:23 #4353 [Verbose] > │ let roll_progressively x = v2 x │ 00:00:23 #4354 [Verbose] > │ let v3 : ((string -> unit) option -> (uint64 -> (UH1 -> uint64 option))) = │ 00:00:23 #4355 [Verbose] > │ closure77() │ 00:00:23 #4356 [Verbose] > │ let roll_within_bounds x = v3 x │ 00:00:23 #4357 [Verbose] > │ let v4 : ((string []) -> int32) = closure80() │ 00:00:23 #4358 [Verbose] > │ let main args = v4 args │ 00:00:23 #4359 [Verbose] > │ () │ 00:00:23 #4360 [Verbose] > │ │ 00:00:23 #4361 [Verbose] > │ │ 00:00:23 #4362 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 #4363 [Verbose] > [NbConvertApp] Converting notebook dice.dib.ipynb to html 00:00:25 #4364 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:25 #4365 [Verbose] > validate(nb) 00:00:26 #4366 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:26 #4367 [Verbose] > return _pygments_highlight( 00:00:26 #4368 [Verbose] > [NbConvertApp] Writing 479737 bytes to dice.dib.html 00:00:27 #4369 [Debug] executeAsync / exitCode: 0 / output.Length: 334326 00:00:27 #4370 [Debug] main / executeCommand / exitCode: 0 00:00:00 #1 [Debug] writeDibCode / output: Spi / path: dice.dib 00:00:00 #2 [Debug] parseDibCode / output: Spi / file: dice.dib 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60 00:00:00 #2 [Debug] executeAsync / options: { Command = "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805" WorkingDirectory = None CancellationToken = Some System.Threading.CancellationToken OnLine = Some <fun:main@411-297> } 00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\dice 00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release 00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500 00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length: 00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0 00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805 00:00:01 #10 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:01 #11 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:01 #12 [Debug] sendJson / port: 13805 / json: {"FileOpen":{"spiText":"// // # dice (Polyglot)\n\n// // ## sixth_power_sequence\n\ninl sixth_power_sequence () =\n stream.iterate ((*) 6) 1\n\n// // ## accumulate_dice_rolls\n\ninl accumulate_dice_rolls\n (log : option (string -\u003E ()))\n (rolls : list u8)\n (power : i8)\n acc\n =\n inl rec body acc power rolls =\n match rolls with\n | _ when power \u003C 0 =\u003E\n log |\u003E optionm\u0027.iter ((|\u003E) $\u0022$\\\u0022accumulate_dice_rolls / power: {!power} / acc: {!acc}\\\u0022\u0022)\n Some (acc \u002B 1, rolls)\n | [] =\u003E None\n | roll :: rest when roll \u003E 1 =\u003E\n inl coeff = sixth_power_sequence () |\u003E stream.item power\n inl value = conv (roll - 1) * coeff\n log |\u003E optionm\u0027.iter ((|\u003E) $\u0022$\\\u0022accumulate_dice_rolls / power: {!power} / acc: {!acc} / roll: {!roll} / value: {!value}\\\u0022\u0022\n )\n loop (acc \u002B value) (power - 1) rest\n | roll :: rest =\u003E\n log |\u003E optionm\u0027.iter ((|\u003E) $\u0022$\\\u0022accumulate_dice_rolls / power: {!power} / acc: {!acc} / roll: {!roll}\\\u0022\u0022)\n loop acc (power - 1) rest\n and inl loop acc power rolls =\n if var_is rolls |\u003E not\n then body acc power rolls\n else\n inl acc = dyn acc\n join body acc power rolls\n loop acc power rolls\n\n// // ## roll_within_bounds\n\ninl roll_within_bounds (log : option (string -\u003E ())) max rolls =\n inl power = listm.length rolls - 1\n match accumulate_dice_rolls log rolls power 0 with\n | Some (result, _) when result \u003E= 1 \u0026\u0026 result \u003C= max =\u003E Some result\n | _ =\u003E None\n\n// // ## calculate_dice_count\n\ninl calculate_dice_count (log : option (string -\u003E ())) max =\n inl rec body n p =\n inl return () =\n log |\u003E optionm\u0027.iter ((|\u003E) $\u0022$\\\u0022calculate_dice_count / max: {!max} / n: {!n} / p: {!p}\\\u0022\u0022)\n n\n\n if p \u003C max then\n inl p\u0027 = p * 6\n if p\u0027 \u003E p\n then loop (n \u002B 1) p\u0027\n else return ()\n else return ()\n\n and inl loop n p =\n if var_is max |\u003E not\n then body n p\n else\n inl n = dyn n\n inl p = dyn p\n join body n p\n if max = 1\n then 1\n else loop 0 1\n\n// // ## roll_dice\n\ninl roll_dice () : u8 =\n run_target function\n | Fsharp =\u003E fun () =\u003E $\u0022System.Random().Next (1, 7) |\u003E uint8\u0022\n | Rust (Native) =\u003E fun () =\u003E rust.emit_expr () \u0022rand::Rng::gen_range(\u0026mut rand::thread_rng(), 1..7)\u0022\n | Rust (Wasm) =\u003E fun () =\u003E rust.emit_expr () \u00221\u0022\n\n// // ## rotate_number\n\ninl rotate_number forall t {number}. (max : i64) (n : t) : t =\n (conv n - 1 \u002B max) % max \u002B 1 |\u003E conv\n\n// // ## rotate_numbers\n\ninl rotate_numbers max items =\n items |\u003E stream.map (rotate_number max)\n\n// // ## create_sequential_roller\n\ninl create_sequential_roller list =\n inl s = list |\u003E listm.rev |\u003E listm.append list |\u003E stream.from_list |\u003E stream.memoize\n inl current_index = mut 0i64\n inl acc = mut 1\n inl len = mut -1\n let rec loop () =\n match s () |\u003E stream.try_item *current_index with\n | Some item =\u003E\n current_index \u003C- *current_index \u002B 1\n item\n | None =\u003E\n if *len = -1\n then len \u003C- *current_index\n acc \u003C-\n if *acc \u003E= *len\n then 1\n else *acc \u002B 1\n current_index \u003C- *acc - 1\n loop ()\n loop\n\n// // ## roll_progressively\n\ninl roll_progressively (log : option (string -\u003E ())) roll reroll max =\n inl power = (calculate_dice_count log max) - 1\n let rec loop rolls size =\n if size \u003C power \u002B 1\n then loop (roll () :: rolls) (size \u002B 1)\n else accumulate_dice_rolls log rolls power 0 |\u003E function\n | Some (result, _) when result \u003C= max =\u003E result\n | _ when reroll =\u003E loop (listm.init power (fun _ =\u003E roll ())) power\n | _ =\u003E loop (roll () :: rolls) (size \u002B 1)\n loop [] 0\n\n// // ## main\n\ninl main (_args : array string) =\n inl result = roll_progressively (Some console.write_line) roll_dice true (limit.max : i64)\n console.write_line ($\u0022$\\\u0022result: {!result}\\\u0022\u0022 : string)\n 0i32\n\ninl main () =\n inl rotate_numbers\u0027 : i64 -\u003E stream.stream u8 -\u003E stream.stream u8 =\n rotate_numbers\n\n inl create_sequential_roller\u0027 : (list u8 -\u003E () -\u003E u8) =\n create_sequential_roller\n\n inl roll_progressively\u0027 :\n (optionm\u0027.option_fsharp (string -\u003E ()) -\u003E (() -\u003E u8)\n -\u003E bool\n -\u003E u64\n -\u003E u64)\n =\n optionm\u0027.from_fsharp \u003E\u003E roll_progressively\n\n inl roll_within_bounds\u0027 :\n optionm\u0027.option_fsharp (string -\u003E ())\n -\u003E u64\n -\u003E list u8\n -\u003E optionm\u0027.option_fsharp u64\n =\n fun a b c =\u003E\n (optionm\u0027.from_fsharp \u003E\u003E roll_within_bounds) a b c\n |\u003E optionm\u0027.to_fsharp\n\n $\u0022let rotate_numbers x = !rotate_numbers\u0027 x\u0022 : ()\n $\u0022let create_sequential_roller x = !create_sequential_roller\u0027 x\u0022 : ()\n $\u0022let roll_progressively x = !roll_progressively\u0027 x\u0022 : ()\n $\u0022let roll_within_bounds x = !roll_within_bounds\u0027 x\u0022 : ()\n $\u0022let main args = !main args\u0022 : ()\n","uri":"file:///C:\\home\\git\\polyglot\\apps\\dice\\dice.spi"}} / result.Length: 00:00:01 #13 [Debug] sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\home\\git\\polyglot\\apps\\dice\\dice.spi"}} / result.Length: 00:00:01 #14 [Verbose] > Building C:\home\git\polyglot\apps\dice\dice.spi 00:00:02 #15 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:03 #16 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:03 #17 [Debug] buildFile / takeWhileInclusive / fsxContent: Some(type UH0 = | UH0_0 of uint8 * (unit -> UH0) | UH0_1 and UH1 = | UH1_0 of uint8 * UH1 | UH1_1 and [<Struct>] US0 = | US0_0 of f0_0 : UH0 | US0_1 of f1_0 : (unit -> UH0) and Mut0 = {mutable l0 : US0} and Mut1 = {mutable l0 : int64} and [<Struct>] US1 = | US1_0 | US1_1 of f1_0 : uint8 and [<Struct>] US2 = | US2_0 | US2_1 of f1_0 : (string -> unit) and [<Struct>] US3 = | US3_0 | US3_1 of f1_0 : uint64 * f1_1 : UH1 and UH2 = | UH2_0 of uint64 * (unit -> UH2) | UH2_1 and [<Struct>] US4 = | US4_0 | US4_1 of f1_0 : uint64 and [<Struct>] US5 = | US5_0 | US5_1 of f1_0 : int64 * f1_1 : UH1 let rec closure2 (v0 : UH0) () : UH0 = v0 and method0 (v0 : int64, v1 : UH0, v2 : UH0) : UH0 = match v1 with | UH0_0(v3, v4) -> (* StreamCons *) let v5 : UH0 = v4 () let v6 : UH0 = method0(v0, v5, v2) let v7 : int64 = int64 v3 let v8 : int64 = v7 - 1L let v9 : int64 = v8 + v0 let v10 : int64 = v9 % v0 let v11 : int64 = v10 + 1L let v12 : uint8 = uint8 v11 let v13 : (unit -> UH0) = closure2(v6) UH0_0(v12, v13) | UH0_1 -> (* StreamNil *) v2 and closure1 (v0 : int64) (v1 : UH0) : UH0 = let v2 : UH0 = UH0_1 method0(v0, v1, v2) and closure0 () (v0 : int64) : (UH0 -> UH0) = closure1(v0) and method1 (v0 : UH1, v1 : UH1) : UH1 = match v0 with | UH1_0(v2, v3) -> (* Cons *) let v4 : UH1 = UH1_0(v2, v1) method1(v3, v4) | UH1_1 -> (* Nil *) v1 and method2 (v0 : UH1, v1 : UH1) : UH1 = match v0 with | UH1_0(v2, v3) -> (* Cons *) let v4 : UH1 = method2(v3, v1) UH1_0(v2, v4) | UH1_1 -> (* Nil *) v1 and closure4 (v0 : UH0) () : UH0 = v0 and method3 (v0 : UH1, v1 : UH0) : UH0 = match v0 with | UH1_0(v2, v3) -> (* Cons *) let v4 : UH0 = method3(v3, v1) let v5 : (unit -> UH0) = closure4(v4) UH0_0(v2, v5) | UH1_1 -> (* Nil *) v1 and closure5 (v0 : UH0) () : UH0 = v0 and closure6 (v0 : UH0, v1 : Mut0) () : UH0 = let v2 : US0 = v1.l0 match v2 with | US0_0(v3) -> (* Computed *) v3 | US0_1(v4) -> (* NotComputed *) let v5 : UH0 = v4 () let v12 : UH0 = match v5 with | UH0_0(v7, v8) -> (* StreamCons *) let v9 : (unit -> UH0) = method4(v0, v8) UH0_0(v7, v9) | UH0_1 -> (* StreamNil *) UH0_1 let v13 : US0 = US0_0(v12) v1.l0 <- v13 v12 and method4 (v0 : UH0, v1 : (unit -> UH0)) : (unit -> UH0) = let v2 : US0 = US0_1(v1) let v3 : Mut0 = {l0 = v2} : Mut0 closure6(v0, v3) and method6 (v0 : int64, v1 : UH0) : US1 = match v1 with | UH0_0(v2, v3) -> (* StreamCons *) let v4 : bool = v0 <= 0L if v4 then US1_1(v2) else let v6 : int64 = v0 - 1L let v7 : UH0 = v3 () method6(v6, v7) | UH0_1 -> (* StreamNil *) US1_0 and method5 (v0 : (unit -> UH0), v1 : Mut1, v2 : Mut1, v3 : Mut1) : uint8 = let v4 : UH0 = v0 () let v5 : int64 = v1.l0 let v6 : US1 = method6(v5, v4) match v6 with | US1_0 -> (* None *) let v10 : int64 = v3.l0 let v11 : bool = v10 = -1L if v11 then let v12 : int64 = v1.l0 v3.l0 <- v12 () let v13 : int64 = v2.l0 let v14 : int64 = v3.l0 let v15 : bool = v13 >= v14 let v18 : int64 = if v15 then 1L else let v16 : int64 = v2.l0 let v17 : int64 = v16 + 1L v17 v2.l0 <- v18 let v19 : int64 = v2.l0 let v20 : int64 = v19 - 1L v1.l0 <- v20 method5(v0, v1, v2, v3) | US1_1(v7) -> (* Some *) let v8 : int64 = v1.l0 let v9 : int64 = v8 + 1L v1.l0 <- v9 v7 and closure7 (v0 : (unit -> UH0), v1 : Mut1, v2 : Mut1, v3 : Mut1) () : uint8 = method5(v0, v1, v2, v3) and closure3 () (v0 : UH1) : (unit -> uint8) = let v1 : UH1 = UH1_1 let v2 : UH1 = method1(v0, v1) let v3 : UH1 = method2(v0, v2) let v4 : UH0 = UH0_1 let v5 : UH0 = method3(v3, v4) let v6 : (unit -> UH0) = closure5(v5) let v7 : (unit -> UH0) = method4(v5, v6) let v8 : Mut1 = {l0 = 0L} : Mut1 let v9 : Mut1 = {l0 = 1L} : Mut1 let v10 : Mut1 = {l0 = -1L} : Mut1 closure7(v7, v8, v9, v10) and closure9 () (v0 : (string -> unit)) : US2 = US2_1(v0) and method7 (v0 : US2, v1 : uint64, v2 : int8, v3 : uint64) : int8 = let v4 : bool = v3 < v1 if v4 then let v5 : uint64 = v3 * 6UL let v6 : bool = v5 > v3 if v6 then let v7 : int8 = v2 + 1y method7(v0, v1, v7, v5) else let v9 : string = $"calculate_dice_count / max: {v1} / n: {v2} / p: {v3}" match v0 with | US2_0 -> (* None *) () | US2_1(v10) -> (* Some *) v10 v9 v2 else let v12 : string = $"calculate_dice_count / max: {v1} / n: {v2} / p: {v3}" match v0 with | US2_0 -> (* None *) () | US2_1(v13) -> (* Some *) v13 v12 v2 and closure76 () () : UH2 = let v0 : (unit -> UH2) = closure76() UH2_0(0UL, v0) and closure75 () () : UH2 = let v0 : (unit -> UH2) = closure76() UH2_0(9223372036854775808UL, v0) and closure74 () () : UH2 = let v0 : (unit -> UH2) = closure75() UH2_0(4611686018427387904UL, v0) and closure73 () () : UH2 = let v0 : (unit -> UH2) = closure74() UH2_0(6917529027641081856UL, v0) and closure72 () () : UH2 = let v0 : (unit -> UH2) = closure73() UH2_0(1152921504606846976UL, v0) and closure71 () () : UH2 = let v0 : (unit -> UH2) = closure72() UH2_0(15564440312192434176UL, v0) and closure70 () () : UH2 = let v0 : (unit -> UH2) = closure71() UH2_0(11817445422220181504UL, v0) and closure69 () () : UH2 = let v0 : (unit -> UH2) = closure70() UH2_0(5044031582654955520UL, v0) and closure68 () () : UH2 = let v0 : (unit -> UH2) = closure69() UH2_0(6989586621679009792UL, v0) and closure67 () () : UH2 = let v0 : (unit -> UH2) = closure68() UH2_0(16537217831704461312UL, v0) and closure66 () () : UH2 = let v0 : (unit -> UH2) = closure67() UH2_0(11979575008805519360UL, v0) and closure65 () () : UH2 = let v0 : (unit -> UH2) = closure66() UH2_0(14294425217273954304UL, v0) and closure64 () () : UH2 = let v0 : (unit -> UH2) = closure65() UH2_0(2382404202878992384UL, v0) and closure63 () () : UH2 = let v0 : (unit -> UH2) = closure64() UH2_0(6545982058383015936UL, v0) and closure62 () () : UH2 = let v0 : (unit -> UH2) = closure63() UH2_0(10314369046585278464UL, v0) and closure61 () () : UH2 = let v0 : (unit -> UH2) = closure62() UH2_0(4793518853382471680UL, v0) and closure60 () () : UH2 = let v0 : (unit -> UH2) = closure61() UH2_0(3873377154515337216UL, v0) and closure59 () () : UH2 = let v0 : (unit -> UH2) = closure60() UH2_0(645562859085889536UL, v0) and closure58 () () : UH2 = let v0 : (unit -> UH2) = closure59() UH2_0(107593809847648256UL, v0) and closure57 () () : UH2 = let v0 : (unit -> UH2) = closure58() UH2_0(3092389647259533312UL, v0) and closure56 () () : UH2 = let v0 : (unit -> UH2) = closure57() UH2_0(9738770311398031360UL, v0) and closure55 () () : UH2 = let v0 : (unit -> UH2) = closure56() UH2_0(16995415113324298240UL, v0) and closure54 () () : UH2 = let v0 : (unit -> UH2) = closure55() UH2_0(8981483876790566912UL, v0) and closure53 () () : UH2 = let v0 : (unit -> UH2) = closure54() UH2_0(13794743361938128896UL, v0) and closure52 () () : UH2 = let v0 : (unit -> UH2) = closure53() UH2_0(2299123893656354816UL, v0) and closure51 () () : UH2 = let v0 : (unit -> UH2) = closure52() UH2_0(3457644661227651072UL, v0) and closure50 () () : UH2 = let v0 : (unit -> UH2) = closure51() UH2_0(576274110204608512UL, v0) and closure49 () () : UH2 = let v0 : (unit -> UH2) = closure50() UH2_0(6244960376270618624UL, v0) and closure48 () () : UH2 = let v0 : (unit -> UH2) = closure49() UH2_0(13338656111851470848UL, v0) and closure47 () () : UH2 = let v0 : (unit -> UH2) = closure48() UH2_0(14520938734448279552UL, v0) and closure46 () () : UH2 = let v0 : (unit -> UH2) = closure47() UH2_0(14717985838214414336UL, v0) and closure45 () () : UH2 = let v0 : (unit -> UH2) = closure46() UH2_0(5527454985320660992UL, v0) and closure44 () () : UH2 = let v0 : (unit -> UH2) = closure45() UH2_0(16293529225644736512UL, v0) and closure43 () () : UH2 = let v0 : (unit -> UH2) = closure44() UH2_0(11938960241128898560UL, v0) and closure42 () () : UH2 = let v0 : (unit -> UH2) = closure43() UH2_0(8138741398091333632UL, v0) and closure41 () () : UH2 = let v0 : (unit -> UH2) = closure42() UH2_0(7505371590918406144UL, v0) and closure40 () () : UH2 = let v0 : (unit -> UH2) = closure41() UH2_0(16623181993244360704UL, v0) and closure39 () () : UH2 = let v0 : (unit -> UH2) = closure40() UH2_0(8919445023443910656UL, v0) and closure38 () () : UH2 = let v0 : (unit -> UH2) = closure39() UH2_0(4561031516192243712UL, v0) and closure37 () () : UH2 = let v0 : (unit -> UH2) = closure38() UH2_0(9983543956220149760UL, v0) and closure36 () () : UH2 = let v0 : (unit -> UH2) = closure37() UH2_0(4738381338321616896UL, v0) and closure35 () () : UH2 = let v0 : (unit -> UH2) = closure36() UH2_0(789730223053602816UL, v0) and closure34 () () : UH2 = let v0 : (unit -> UH2) = closure35() UH2_0(131621703842267136UL, v0) and closure33 () () : UH2 = let v0 : (unit -> UH2) = closure34() UH2_0(21936950640377856UL, v0) and closure32 () () : UH2 = let v0 : (unit -> UH2) = closure33() UH2_0(3656158440062976UL, v0) and closure31 () () : UH2 = let v0 : (unit -> UH2) = closure32() UH2_0(609359740010496UL, v0) and closure30 () () : UH2 = let v0 : (unit -> UH2) = closure31() UH2_0(101559956668416UL, v0) and closure29 () () : UH2 = let v0 : (unit -> UH2) = closure30() UH2_0(16926659444736UL, v0) and closure28 () () : UH2 = let v0 : (unit -> UH2) = closure29() UH2_0(2821109907456UL, v0) and closure27 () () : UH2 = let v0 : (unit -> UH2) = closure28() UH2_0(470184984576UL, v0) and closure26 () () : UH2 = let v0 : (unit -> UH2) = closure27() UH2_0(78364164096UL, v0) and closure25 () () : UH2 = let v0 : (unit -> UH2) = closure26() UH2_0(13060694016UL, v0) and closure24 () () : UH2 = let v0 : (unit -> UH2) = closure25() UH2_0(2176782336UL, v0) and closure23 () () : UH2 = let v0 : (unit -> UH2) = closure24() UH2_0(362797056UL, v0) and closure22 () () : UH2 = let v0 : (unit -> UH2) = closure23() UH2_0(60466176UL, v0) and closure21 () () : UH2 = let v0 : (unit -> UH2) = closure22() UH2_0(10077696UL, v0) and closure20 () () : UH2 = let v0 : (unit -> UH2) = closure21() UH2_0(1679616UL, v0) and closure19 () () : UH2 = let v0 : (unit -> UH2) = closure20() UH2_0(279936UL, v0) and closure18 () () : UH2 = let v0 : (unit -> UH2) = closure19() UH2_0(46656UL, v0) and closure17 () () : UH2 = let v0 : (unit -> UH2) = closure18() UH2_0(7776UL, v0) and closure16 () () : UH2 = let v0 : (unit -> UH2) = closure17() UH2_0(1296UL, v0) and closure15 () () : UH2 = let v0 : (unit -> UH2) = closure16() UH2_0(216UL, v0) and closure14 () () : UH2 = let v0 : (unit -> UH2) = closure15() UH2_0(36UL, v0) and closure13 () () : UH2 = let v0 : (unit -> UH2) = closure14() UH2_0(6UL, v0) and method10 (v0 : int8, v1 : UH2) : US4 = match v1 with | UH2_0(v2, v3) -> (* StreamCons *) let v4 : bool = v0 <= 0y if v4 then US4_1(v2) else let v6 : int8 = v0 - 1y let v7 : UH2 = v3 () method10(v6, v7) | UH2_1 -> (* StreamNil *) US4_0 and method9 (v0 : US2, v1 : int8, v2 : UH1, v3 : uint64) : US3 = let v4 : bool = v1 < 0y if v4 then let v5 : string = $"accumulate_dice_rolls / power: {v1} / acc: {v3}" match v0 with | US2_0 -> (* None *) () | US2_1(v6) -> (* Some *) v6 v5 let v7 : uint64 = v3 + 1UL US3_1(v7, v2) else match v2 with | UH1_0(v10, v11) -> (* Cons *) let v12 : bool = v10 > 1uy if v12 then let v13 : uint64 = 1UL let v14 : (unit -> UH2) = closure13() let v15 : UH2 = UH2_0(v13, v14) let v16 : US4 = method10(v1, v15) let v20 : uint64 = match v16 with | US4_0 -> (* None *) failwith<uint64> "Option does not have a value." | US4_1(v17) -> (* Some *) v17 let v21 : uint8 = v10 - 1uy let v22 : uint64 = uint64 v21 let v23 : uint64 = v22 * v20 let v24 : string = $"accumulate_dice_rolls / power: {v1} / acc: {v3} / roll: {v10} / value: {v23}" match v0 with | US2_0 -> (* None *) () | US2_1(v25) -> (* Some *) v25 v24 let v26 : uint64 = v3 + v23 let v27 : int8 = v1 - 1y method9(v0, v27, v11, v26) else let v29 : string = $"accumulate_dice_rolls / power: {v1} / acc: {v3} / roll: {v10}" match v0 with | US2_0 -> (* None *) () | US2_1(v30) -> (* Some *) v30 v29 let v31 : int8 = v1 - 1y method9(v0, v31, v11, v3) | UH1_1 -> (* Nil *) US3_0 and method11 (v0 : int8, v1 : (unit -> uint8), v2 : int8) : UH1 = let v3 : bool = v2 < v0 if v3 then let v4 : uint8 = v1 () let v5 : int8 = v2 + 1y let v6 : UH1 = method11(v0, v1, v5) UH1_0(v4, v6) else UH1_1 and method12 (v0 : US2, v1 : (unit -> uint8), v2 : bool, v3 : uint64, v4 : int8, v5 : UH1) : uint64 = let v6 : int8 = v4 + 1y let v7 : bool = v4 < v6 if v7 then let v8 : uint8 = v1 () let v9 : UH1 = UH1_0(v8, v5) method8(v0, v1, v2, v3, v4, v9, v6) else let v11 : uint64 = 0UL let v12 : US3 = method9(v0, v4, v5, v11) match v12 with | US3_1(v13, v14) -> (* Some *) let v15 : bool = v13 <= v3 if v15 then v13 else if v2 then let v16 : int8 = 0y let v17 : UH1 = method11(v4, v1, v16) method12(v0, v1, v2, v3, v4, v17) else let v19 : uint8 = v1 () let v20 : UH1 = UH1_0(v19, v5) method8(v0, v1, v2, v3, v4, v20, v6) | _ -> if v2 then let v24 : int8 = 0y let v25 : UH1 = method11(v4, v1, v24) method12(v0, v1, v2, v3, v4, v25) else let v27 : uint8 = v1 () let v28 : UH1 = UH1_0(v27, v5) method8(v0, v1, v2, v3, v4, v28, v6) and method8 (v0 : US2, v1 : (unit -> uint8), v2 : bool, v3 : uint64, v4 : int8, v5 : UH1, v6 : int8) : uint64 = let v7 : int8 = v4 + 1y let v8 : bool = v6 < v7 if v8 then let v9 : uint8 = v1 () let v10 : UH1 = UH1_0(v9, v5) let v11 : int8 = v6 + 1y method8(v0, v1, v2, v3, v4, v10, v11) else let v13 : uint64 = 0UL let v14 : US3 = method9(v0, v4, v5, v13) match v14 with | US3_1(v15, v16) -> (* Some *) let v17 : bool = v15 <= v3 if v17 then v15 else if v2 then let v18 : int8 = 0y let v19 : UH1 = method11(v4, v1, v18) method12(v0, v1, v2, v3, v4, v19) else let v21 : uint8 = v1 () let v22 : UH1 = UH1_0(v21, v5) let v23 : int8 = v6 + 1y method8(v0, v1, v2, v3, v4, v22, v23) | _ -> if v2 then let v27 : int8 = 0y let v28 : UH1 = method11(v4, v1, v27) method12(v0, v1, v2, v3, v4, v28) else let v30 : uint8 = v1 () let v31 : UH1 = UH1_0(v30, v5) let v32 : int8 = v6 + 1y method8(v0, v1, v2, v3, v4, v31, v32) and closure12 (v0 : US2, v1 : (unit -> uint8), v2 : bool) (v3 : uint64) : uint64 = let v4 : bool = v3 = 1UL let v8 : int8 = if v4 then 1y else let v5 : int8 = 0y let v6 : uint64 = 1UL method7(v0, v3, v5, v6) let v9 : int8 = v8 - 1y let v10 : UH1 = UH1_1 let v11 : int8 = 0y method8(v0, v1, v2, v3, v9, v10, v11) and closure11 (v0 : US2, v1 : (unit -> uint8)) (v2 : bool) : (uint64 -> uint64) = closure12(v0, v1, v2) and closure10 (v0 : US2) (v1 : (unit -> uint8)) : (bool -> (uint64 -> uint64)) = closure11(v0, v1) and closure8 () (v0 : (string -> unit) option) : ((unit -> uint8) -> (bool -> (uint64 -> uint64))) = let v1 : ((string -> unit) -> US2) = closure9() let v2 : US2 = US2_0 let v3 : US2 = v0 |> Option.map v1 |> Option.defaultValue v2 closure10(v3) and method13 (v0 : UH1, v1 : int8) : int8 = match v0 with | UH1_0(v2, v3) -> (* Cons *) let v4 : int8 = v1 + 1y method13(v3, v4) | UH1_1 -> (* Nil *) v1 and closure79 (v0 : (string -> unit) option, v1 : uint64) (v2 : UH1) : uint64 option = let v3 : ((string -> unit) -> US2) = closure9() let v4 : US2 = US2_0 let v5 : US2 = v0 |> Option.map v3 |> Option.defaultValue v4 let v6 : int8 = 0y let v7 : int8 = method13(v2, v6) let v8 : int8 = v7 - 1y let v9 : uint64 = 0UL let v10 : US3 = method9(v5, v8, v2, v9) let v20 : US4 = match v10 with | US3_1(v11, v12) -> (* Some *) let v13 : bool = v11 >= 1UL let v15 : bool = if v13 then let v14 : bool = v11 <= v1 v14 else false if v15 then US4_1(v11) else US4_0 | _ -> US4_0 match v20 with | US4_0 -> (* None *) let v23 : uint64 option = None v23 | US4_1(v21) -> (* Some *) let v22 : uint64 option = Some v21 v22 and closure78 (v0 : (string -> unit) option) (v1 : uint64) : (UH1 -> uint64 option) = closure79(v0, v1) and closure77 () (v0 : (string -> unit) option) : (uint64 -> (UH1 -> uint64 option)) = closure78(v0) and method39 (v0 : UH1, v1 : int64) : US5 = let v2 : string = $"accumulate_dice_rolls / power: {-1y} / acc: {v1}" System.Console.WriteLine v2 let v3 : int64 = v1 + 1L US5_1(v3, v0) and method38 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : string = $"accumulate_dice_rolls / power: {0y} / acc: {v1} / roll: {v3} / value: {v7}" System.Console.WriteLine v8 let v9 : int64 = v1 + v7 method39(v4, v9) else let v11 : string = $"accumulate_dice_rolls / power: {0y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v11 method39(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method37 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 6L let v9 : string = $"accumulate_dice_rolls / power: {1y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method38(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {1y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method38(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method36 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 36L let v9 : string = $"accumulate_dice_rolls / power: {2y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method37(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {2y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method37(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method35 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 216L let v9 : string = $"accumulate_dice_rolls / power: {3y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method36(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {3y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method36(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method34 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 1296L let v9 : string = $"accumulate_dice_rolls / power: {4y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method35(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {4y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method35(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method33 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 7776L let v9 : string = $"accumulate_dice_rolls / power: {5y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method34(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {5y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method34(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method32 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 46656L let v9 : string = $"accumulate_dice_rolls / power: {6y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method33(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {6y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method33(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method31 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 279936L let v9 : string = $"accumulate_dice_rolls / power: {7y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method32(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {7y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method32(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method30 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 1679616L let v9 : string = $"accumulate_dice_rolls / power: {8y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method31(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {8y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method31(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method29 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 10077696L let v9 : string = $"accumulate_dice_rolls / power: {9y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method30(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {9y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method30(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method28 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 60466176L let v9 : string = $"accumulate_dice_rolls / power: {10y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method29(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {10y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method29(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method27 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 362797056L let v9 : string = $"accumulate_dice_rolls / power: {11y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method28(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {11y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method28(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method26 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 2176782336L let v9 : string = $"accumulate_dice_rolls / power: {12y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method27(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {12y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method27(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method25 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 13060694016L let v9 : string = $"accumulate_dice_rolls / power: {13y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method26(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {13y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method26(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method24 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 78364164096L let v9 : string = $"accumulate_dice_rolls / power: {14y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method25(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {14y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method25(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method23 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 470184984576L let v9 : string = $"accumulate_dice_rolls / power: {15y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method24(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {15y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method24(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method22 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 2821109907456L let v9 : string = $"accumulate_dice_rolls / power: {16y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method23(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {16y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method23(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method21 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 16926659444736L let v9 : string = $"accumulate_dice_rolls / power: {17y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method22(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {17y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method22(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method20 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 101559956668416L let v9 : string = $"accumulate_dice_rolls / power: {18y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method21(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {18y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method21(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method19 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 609359740010496L let v9 : string = $"accumulate_dice_rolls / power: {19y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method20(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {19y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method20(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method18 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 3656158440062976L let v9 : string = $"accumulate_dice_rolls / power: {20y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method19(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {20y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method19(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method17 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 21936950640377856L let v9 : string = $"accumulate_dice_rolls / power: {21y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method18(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {21y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method18(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method16 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 131621703842267136L let v9 : string = $"accumulate_dice_rolls / power: {22y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method17(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {22y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method17(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method15 (v0 : UH1, v1 : int64) : US5 = match v0 with | UH1_0(v3, v4) -> (* Cons *) let v5 : bool = v3 > 1uy if v5 then let v6 : uint8 = v3 - 1uy let v7 : int64 = int64 v6 let v8 : int64 = v7 * 789730223053602816L let v9 : string = $"accumulate_dice_rolls / power: {23y} / acc: {v1} / roll: {v3} / value: {v8}" System.Console.WriteLine v9 let v10 : int64 = v1 + v8 method16(v4, v10) else let v12 : string = $"accumulate_dice_rolls / power: {23y} / acc: {v1} / roll: {v3}" System.Console.WriteLine v12 method16(v4, v1) | UH1_1 -> (* Nil *) US5_0 and method14 (v0 : UH1, v1 : int8) : int64 = let v2 : bool = v1 < 24y if v2 then let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v3 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), 1..7)" let v4 : uint8 = Fable.Core.RustInterop.emitRustExpr () v3 v4 #else let v5 : string = "1" let v6 : uint8 = Fable.Core.RustInterop.emitRustExpr () v5 v6 #endif #else let v7 : uint8 = System.Random().Next (1, 7) |> uint8 v7 #endif |> fun x -> result <- Some x let v8 : uint8 = result |> Option.get let v9 : UH1 = UH1_0(v8, v0) let v10 : int8 = v1 + 1y method14(v9, v10) else let v12 : int64 = 0L let v13 : US5 = method15(v0, v12) match v13 with | US5_1(v14, v15) -> (* Some *) let v16 : bool = v14 <= 9223372036854775807L if v16 then v14 else let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v17 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), 1..7)" let v18 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v18 #else let v19 : string = "1" let v20 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v20 #endif #else let v21 : uint8 = System.Random().Next (1, 7) |> uint8 v21 #endif |> fun x -> result <- Some x let v22 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v23 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v23 #else let v24 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v24 #endif #else let v25 : uint8 = System.Random().Next (1, 7) |> uint8 v25 #endif |> fun x -> result <- Some x let v26 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v27 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v27 #else let v28 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v28 #endif #else let v29 : uint8 = System.Random().Next (1, 7) |> uint8 v29 #endif |> fun x -> result <- Some x let v30 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v31 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v31 #else let v32 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v32 #endif #else let v33 : uint8 = System.Random().Next (1, 7) |> uint8 v33 #endif |> fun x -> result <- Some x let v34 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v35 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v35 #else let v36 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v36 #endif #else let v37 : uint8 = System.Random().Next (1, 7) |> uint8 v37 #endif |> fun x -> result <- Some x let v38 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v39 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v39 #else let v40 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v40 #endif #else let v41 : uint8 = System.Random().Next (1, 7) |> uint8 v41 #endif |> fun x -> result <- Some x let v42 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v43 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v43 #else let v44 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v44 #endif #else let v45 : uint8 = System.Random().Next (1, 7) |> uint8 v45 #endif |> fun x -> result <- Some x let v46 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v47 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v47 #else let v48 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v48 #endif #else let v49 : uint8 = System.Random().Next (1, 7) |> uint8 v49 #endif |> fun x -> result <- Some x let v50 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v51 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v51 #else let v52 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v52 #endif #else let v53 : uint8 = System.Random().Next (1, 7) |> uint8 v53 #endif |> fun x -> result <- Some x let v54 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v55 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v55 #else let v56 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v56 #endif #else let v57 : uint8 = System.Random().Next (1, 7) |> uint8 v57 #endif |> fun x -> result <- Some x let v58 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v59 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v59 #else let v60 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v60 #endif #else let v61 : uint8 = System.Random().Next (1, 7) |> uint8 v61 #endif |> fun x -> result <- Some x let v62 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v63 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v63 #else let v64 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v64 #endif #else let v65 : uint8 = System.Random().Next (1, 7) |> uint8 v65 #endif |> fun x -> result <- Some x let v66 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v67 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v67 #else let v68 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v68 #endif #else let v69 : uint8 = System.Random().Next (1, 7) |> uint8 v69 #endif |> fun x -> result <- Some x let v70 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v71 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v71 #else let v72 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v72 #endif #else let v73 : uint8 = System.Random().Next (1, 7) |> uint8 v73 #endif |> fun x -> result <- Some x let v74 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v75 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v75 #else let v76 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v76 #endif #else let v77 : uint8 = System.Random().Next (1, 7) |> uint8 v77 #endif |> fun x -> result <- Some x let v78 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v79 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v79 #else let v80 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v80 #endif #else let v81 : uint8 = System.Random().Next (1, 7) |> uint8 v81 #endif |> fun x -> result <- Some x let v82 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v83 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v83 #else let v84 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v84 #endif #else let v85 : uint8 = System.Random().Next (1, 7) |> uint8 v85 #endif |> fun x -> result <- Some x let v86 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v87 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v87 #else let v88 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v88 #endif #else let v89 : uint8 = System.Random().Next (1, 7) |> uint8 v89 #endif |> fun x -> result <- Some x let v90 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v91 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v91 #else let v92 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v92 #endif #else let v93 : uint8 = System.Random().Next (1, 7) |> uint8 v93 #endif |> fun x -> result <- Some x let v94 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v95 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v95 #else let v96 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v96 #endif #else let v97 : uint8 = System.Random().Next (1, 7) |> uint8 v97 #endif |> fun x -> result <- Some x let v98 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v99 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v99 #else let v100 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v100 #endif #else let v101 : uint8 = System.Random().Next (1, 7) |> uint8 v101 #endif |> fun x -> result <- Some x let v102 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v103 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v103 #else let v104 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v104 #endif #else let v105 : uint8 = System.Random().Next (1, 7) |> uint8 v105 #endif |> fun x -> result <- Some x let v106 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v107 : uint8 = Fable.Core.RustInterop.emitRustExpr () v17 v107 #else let v108 : uint8 = Fable.Core.RustInterop.emitRustExpr () v19 v108 #endif #else let v109 : uint8 = System.Random().Next (1, 7) |> uint8 v109 #endif |> fun x -> result <- Some x let v110 : uint8 = result |> Option.get let v111 : UH1 = UH1_1 let v112 : UH1 = UH1_0(v110, v111) let v113 : UH1 = UH1_0(v106, v112) let v114 : UH1 = UH1_0(v102, v113) let v115 : UH1 = UH1_0(v98, v114) let v116 : UH1 = UH1_0(v94, v115) let v117 : UH1 = UH1_0(v90, v116) let v118 : UH1 = UH1_0(v86, v117) let v119 : UH1 = UH1_0(v82, v118) let v120 : UH1 = UH1_0(v78, v119) let v121 : UH1 = UH1_0(v74, v120) let v122 : UH1 = UH1_0(v70, v121) let v123 : UH1 = UH1_0(v66, v122) let v124 : UH1 = UH1_0(v62, v123) let v125 : UH1 = UH1_0(v58, v124) let v126 : UH1 = UH1_0(v54, v125) let v127 : UH1 = UH1_0(v50, v126) let v128 : UH1 = UH1_0(v46, v127) let v129 : UH1 = UH1_0(v42, v128) let v130 : UH1 = UH1_0(v38, v129) let v131 : UH1 = UH1_0(v34, v130) let v132 : UH1 = UH1_0(v30, v131) let v133 : UH1 = UH1_0(v26, v132) let v134 : UH1 = UH1_0(v22, v133) let v135 : int8 = 23y method14(v134, v135) | _ -> let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v138 : string = "rand::Rng::gen_range(&mut rand::thread_rng(), 1..7)" let v139 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v139 #else let v140 : string = "1" let v141 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v141 #endif #else let v142 : uint8 = System.Random().Next (1, 7) |> uint8 v142 #endif |> fun x -> result <- Some x let v143 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v144 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v144 #else let v145 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v145 #endif #else let v146 : uint8 = System.Random().Next (1, 7) |> uint8 v146 #endif |> fun x -> result <- Some x let v147 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v148 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v148 #else let v149 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v149 #endif #else let v150 : uint8 = System.Random().Next (1, 7) |> uint8 v150 #endif |> fun x -> result <- Some x let v151 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v152 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v152 #else let v153 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v153 #endif #else let v154 : uint8 = System.Random().Next (1, 7) |> uint8 v154 #endif |> fun x -> result <- Some x let v155 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v156 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v156 #else let v157 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v157 #endif #else let v158 : uint8 = System.Random().Next (1, 7) |> uint8 v158 #endif |> fun x -> result <- Some x let v159 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v160 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v160 #else let v161 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v161 #endif #else let v162 : uint8 = System.Random().Next (1, 7) |> uint8 v162 #endif |> fun x -> result <- Some x let v163 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v164 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v164 #else let v165 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v165 #endif #else let v166 : uint8 = System.Random().Next (1, 7) |> uint8 v166 #endif |> fun x -> result <- Some x let v167 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v168 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v168 #else let v169 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v169 #endif #else let v170 : uint8 = System.Random().Next (1, 7) |> uint8 v170 #endif |> fun x -> result <- Some x let v171 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v172 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v172 #else let v173 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v173 #endif #else let v174 : uint8 = System.Random().Next (1, 7) |> uint8 v174 #endif |> fun x -> result <- Some x let v175 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v176 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v176 #else let v177 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v177 #endif #else let v178 : uint8 = System.Random().Next (1, 7) |> uint8 v178 #endif |> fun x -> result <- Some x let v179 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v180 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v180 #else let v181 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v181 #endif #else let v182 : uint8 = System.Random().Next (1, 7) |> uint8 v182 #endif |> fun x -> result <- Some x let v183 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v184 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v184 #else let v185 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v185 #endif #else let v186 : uint8 = System.Random().Next (1, 7) |> uint8 v186 #endif |> fun x -> result <- Some x let v187 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v188 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v188 #else let v189 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v189 #endif #else let v190 : uint8 = System.Random().Next (1, 7) |> uint8 v190 #endif |> fun x -> result <- Some x let v191 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v192 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v192 #else let v193 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v193 #endif #else let v194 : uint8 = System.Random().Next (1, 7) |> uint8 v194 #endif |> fun x -> result <- Some x let v195 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v196 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v196 #else let v197 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v197 #endif #else let v198 : uint8 = System.Random().Next (1, 7) |> uint8 v198 #endif |> fun x -> result <- Some x let v199 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v200 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v200 #else let v201 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v201 #endif #else let v202 : uint8 = System.Random().Next (1, 7) |> uint8 v202 #endif |> fun x -> result <- Some x let v203 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v204 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v204 #else let v205 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v205 #endif #else let v206 : uint8 = System.Random().Next (1, 7) |> uint8 v206 #endif |> fun x -> result <- Some x let v207 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v208 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v208 #else let v209 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v209 #endif #else let v210 : uint8 = System.Random().Next (1, 7) |> uint8 v210 #endif |> fun x -> result <- Some x let v211 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v212 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v212 #else let v213 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v213 #endif #else let v214 : uint8 = System.Random().Next (1, 7) |> uint8 v214 #endif |> fun x -> result <- Some x let v215 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v216 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v216 #else let v217 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v217 #endif #else let v218 : uint8 = System.Random().Next (1, 7) |> uint8 v218 #endif |> fun x -> result <- Some x let v219 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v220 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v220 #else let v221 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v221 #endif #else let v222 : uint8 = System.Random().Next (1, 7) |> uint8 v222 #endif |> fun x -> result <- Some x let v223 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v224 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v224 #else let v225 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v225 #endif #else let v226 : uint8 = System.Random().Next (1, 7) |> uint8 v226 #endif |> fun x -> result <- Some x let v227 : uint8 = result |> Option.get let mutable result = None #if FABLE_COMPILER_RUST #if !WASM let v228 : uint8 = Fable.Core.RustInterop.emitRustExpr () v138 v228 #else let v229 : uint8 = Fable.Core.RustInterop.emitRustExpr () v140 v229 #endif #else let v230 : uint8 = System.Random().Next (1, 7) |> uint8 v230 #endif |> fun x -> result <- Some x let v231 : uint8 = result |> Option.get let v232 : UH1 = UH1_1 let v233 : UH1 = UH1_0(v231, v232) let v234 : UH1 = UH1_0(v227, v233) let v235 : UH1 = UH1_0(v223, v234) let v236 : UH1 = UH1_0(v219, v235) let v237 : UH1 = UH1_0(v215, v236) let v238 : UH1 = UH1_0(v211, v237) let v239 : UH1 = UH1_0(v207, v238) let v240 : UH1 = UH1_0(v203, v239) let v241 : UH1 = UH1_0(v199, v240) let v242 : UH1 = UH1_0(v195, v241) let v243 : UH1 = UH1_0(v191, v242) let v244 : UH1 = UH1_0(v187, v243) let v245 : UH1 = UH1_0(v183, v244) let v246 : UH1 = UH1_0(v179, v245) let v247 : UH1 = UH1_0(v175, v246) let v248 : UH1 = UH1_0(v171, v247) let v249 : UH1 = UH1_0(v167, v248) let v250 : UH1 = UH1_0(v163, v249) let v251 : UH1 = UH1_0(v159, v250) let v252 : UH1 = UH1_0(v155, v251) let v253 : UH1 = UH1_0(v151, v252) let v254 : UH1 = UH1_0(v147, v253) let v255 : UH1 = UH1_0(v143, v254) let v256 : int8 = 23y method14(v255, v256) and closure80 () (v0 : (string [])) : int32 = let v1 : string = $"calculate_dice_count / max: {9223372036854775807L} / n: {24y} / p: {4738381338321616896L}" System.Console.WriteLine v1 let v2 : UH1 = UH1_1 let v3 : int8 = 0y let v4 : int64 = method14(v2, v3) let v5 : string = $"result: {v4}" System.Console.WriteLine v5 0 let v0 : (int64 -> (UH0 -> UH0)) = closure0() let rotate_numbers x = v0 x let v1 : (UH1 -> (unit -> uint8)) = closure3() let create_sequential_roller x = v1 x let v2 : ((string -> unit) option -> ((unit -> uint8) -> (bool -> (uint64 -> uint64)))) = closure8() let roll_progressively x = v2 x let v3 : ((string -> unit) option -> (uint64 -> (UH1 -> uint64 option))) = closure77() let roll_within_bounds x = v3 x let v4 : ((string []) -> int32) = closure80() let main args = v4 args () ) / errors: [] / typeErrorCount: 0 00:00:03 #18 [Debug] watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:00 #1 [Debug] persistCodeProject / packages: [Fable.Core] / modules: [lib/fsharp/Common.fs] / dir: C:\home\git\polyglot\apps\dice / name: dice / code.Length: 66518 00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dice\target\dice.fsproj 00:00:00 #3 [Debug] executeAsync / options: { Command = "dotnet publish "C:\home\git\polyglot\apps\dice\target\dice.fsproj" --configuration Release --output ../dist --runtime linux-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target" CancellationToken = None OnLine = None } 00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 00:00:01 #5 [Verbose] > Determining projects to restore... 00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\dice\target\dice.fsproj (in 440 ms). 00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\dice.fsproj] 00:00:06 #8 [Verbose] > dice -> C:\home\git\polyglot\apps\dice\target\bin\Release\net8.0\linux-x64\dice.dll 00:00:08 #9 [Verbose] > dice -> C:\home\git\polyglot\apps\dice\dist\ 00:00:08 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 594 00:00:08 #11 [Debug] executeAsync / options: { Command = "dotnet publish "C:\home\git\polyglot\apps\dice\target\dice.fsproj" --configuration Release --output ../dist --runtime win-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target" CancellationToken = None OnLine = None } 00:00:08 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 00:00:09 #13 [Verbose] > Determining projects to restore... 00:00:10 #14 [Verbose] > Restored C:\home\git\polyglot\apps\dice\target\dice.fsproj (in 425 ms). 00:00:10 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\dice.fsproj] 00:00:15 #16 [Verbose] > dice -> C:\home\git\polyglot\apps\dice\target\bin\Release\net8.0\win-x64\dice.dll 00:00:18 #17 [Verbose] > dice -> C:\home\git\polyglot\apps\dice\dist\ 00:00:18 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 592 Fable 4.5.0: F# to Rust compiler (status: alpha) Thanks to the contributor! @intrepion Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 214ms Started Fable compilation... Fable compilation finished in 3457ms Fable 4.5.0: F# to TypeScript compiler Minimum fable-library version (when installed from npm): 1.1.1 Thanks to the contributor! @coolya Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 230ms Started Fable compilation... Fable compilation finished in 3642ms Fable 4.5.0: F# to Python compiler (status: beta) Thanks to the contributor! @johannesmols Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 236ms Started Fable compilation... Fable compilation finished in 4103ms Fable 4.5.0: F# to PHP compiler (status: experimental) Thanks to the contributor! @chadunit Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 283ms Started Fable compilation... Fable compilation finished in 3397ms .\..\..\lib\fsharp\Common.fs(129,23): (129,35) error FABLE: String templates are not supported .\target\dice.fs(38,30): (38,32) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(41,32): (41,34) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(102,30): (102,32) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(106,34): (106,36) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(140,30): (140,32) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(118,31): (118,34) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(128,16): (128,18) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(131,40): (131,42) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(135,32): (135,34) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(153,26): (153,28) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(154,26): (154,28) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(155,27): (155,30) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(162,31): (162,34) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(168,30): (168,85) error FABLE: String templates are not supported .\target\dice.fs(176,27): (176,82) error FABLE: String templates are not supported .\target\dice.fs(185,10): (185,13) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(188,10): (188,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(191,10): (191,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(194,10): (194,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(197,10): (197,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(200,10): (200,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(203,10): (203,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(206,10): (206,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(209,10): (209,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(212,10): (212,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(215,10): (215,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(218,10): (218,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(221,10): (221,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(224,10): (224,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(227,10): (227,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(230,10): (230,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(233,10): (233,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(236,10): (236,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(239,10): (239,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(242,10): (242,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(245,10): (245,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(248,10): (248,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(251,10): (251,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(254,10): (254,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(257,10): (257,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(260,10): (260,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(263,10): (263,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(266,10): (266,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(269,10): (269,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(272,10): (272,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(275,10): (275,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(278,10): (278,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(281,10): (281,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(284,10): (284,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(287,10): (287,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(290,10): (290,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(293,10): (293,32) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(296,10): (296,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(299,10): (299,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(302,10): (302,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(305,10): (305,31) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(308,10): (308,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(311,10): (311,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(314,10): (314,29) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(317,10): (317,28) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(320,10): (320,27) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(323,10): (323,27) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(326,10): (326,26) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(329,10): (329,25) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(332,10): (332,24) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(335,10): (335,23) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(338,10): (338,23) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(341,10): (341,22) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(344,10): (344,21) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(347,10): (347,20) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(350,10): (350,20) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(353,10): (353,19) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(356,10): (356,18) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(359,10): (359,17) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(362,10): (362,16) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(365,10): (365,16) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(368,10): (368,15) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(371,10): (371,14) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(374,10): (374,13) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(390,26): (390,76) error FABLE: String templates are not supported .\target\dice.fs(396,31): (396,34) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(403,35): (403,38) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(416,35): (416,114) error FABLE: String templates are not supported .\target\dice.fs(426,35): (426,99) error FABLE: String templates are not supported .\target\dice.fs(453,27): (453,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(487,27): (487,30) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(515,25): (515,28) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(521,30): (521,33) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(550,22): (550,25) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(555,36): (555,39) error FABLE: Numeric literal is not supported: System.UInt64 .\target\dice.fs(580,22): (580,73) error FABLE: String templates are not supported .\target\dice.fs(582,26): (582,28) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(591,30): (591,107) error FABLE: String templates are not supported .\target\dice.fs(596,31): (596,94) error FABLE: String templates are not supported .\target\dice.fs(608,34): (608,36) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(609,30): (609,107) error FABLE: String templates are not supported .\target\dice.fs(614,31): (614,94) error FABLE: String templates are not supported .\target\dice.fs(626,34): (626,37) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(627,30): (627,107) error FABLE: String templates are not supported .\target\dice.fs(632,31): (632,94) error FABLE: String templates are not supported .\target\dice.fs(644,34): (644,38) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(645,30): (645,107) error FABLE: String templates are not supported .\target\dice.fs(650,31): (650,94) error FABLE: String templates are not supported .\target\dice.fs(662,34): (662,39) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(663,30): (663,107) error FABLE: String templates are not supported .\target\dice.fs(668,31): (668,94) error FABLE: String templates are not supported .\target\dice.fs(680,34): (680,39) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(681,30): (681,107) error FABLE: String templates are not supported .\target\dice.fs(686,31): (686,94) error FABLE: String templates are not supported .\target\dice.fs(698,34): (698,40) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(699,30): (699,107) error FABLE: String templates are not supported .\target\dice.fs(704,31): (704,94) error FABLE: String templates are not supported .\target\dice.fs(716,34): (716,41) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(717,30): (717,107) error FABLE: String templates are not supported .\target\dice.fs(722,31): (722,94) error FABLE: String templates are not supported .\target\dice.fs(734,34): (734,42) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(735,30): (735,107) error FABLE: String templates are not supported .\target\dice.fs(740,31): (740,94) error FABLE: String templates are not supported .\target\dice.fs(752,34): (752,43) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(753,30): (753,107) error FABLE: String templates are not supported .\target\dice.fs(758,31): (758,94) error FABLE: String templates are not supported .\target\dice.fs(770,34): (770,43) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(771,30): (771,108) error FABLE: String templates are not supported .\target\dice.fs(776,31): (776,95) error FABLE: String templates are not supported .\target\dice.fs(788,34): (788,44) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(789,30): (789,108) error FABLE: String templates are not supported .\target\dice.fs(794,31): (794,95) error FABLE: String templates are not supported .\target\dice.fs(806,34): (806,45) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(807,30): (807,108) error FABLE: String templates are not supported .\target\dice.fs(812,31): (812,95) error FABLE: String templates are not supported .\target\dice.fs(824,34): (824,46) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(825,30): (825,108) error FABLE: String templates are not supported .\target\dice.fs(830,31): (830,95) error FABLE: String templates are not supported .\target\dice.fs(842,34): (842,46) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(843,30): (843,108) error FABLE: String templates are not supported .\target\dice.fs(848,31): (848,95) error FABLE: String templates are not supported .\target\dice.fs(860,34): (860,47) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(861,30): (861,108) error FABLE: String templates are not supported .\target\dice.fs(866,31): (866,95) error FABLE: String templates are not supported .\target\dice.fs(878,34): (878,48) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(879,30): (879,108) error FABLE: String templates are not supported .\target\dice.fs(884,31): (884,95) error FABLE: String templates are not supported .\target\dice.fs(896,34): (896,49) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(897,30): (897,108) error FABLE: String templates are not supported .\target\dice.fs(902,31): (902,95) error FABLE: String templates are not supported .\target\dice.fs(914,34): (914,50) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(915,30): (915,108) error FABLE: String templates are not supported .\target\dice.fs(920,31): (920,95) error FABLE: String templates are not supported .\target\dice.fs(932,34): (932,50) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(933,30): (933,108) error FABLE: String templates are not supported .\target\dice.fs(938,31): (938,95) error FABLE: String templates are not supported .\target\dice.fs(950,34): (950,51) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(951,30): (951,108) error FABLE: String templates are not supported .\target\dice.fs(956,31): (956,95) error FABLE: String templates are not supported .\target\dice.fs(968,34): (968,52) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(969,30): (969,108) error FABLE: String templates are not supported .\target\dice.fs(974,31): (974,95) error FABLE: String templates are not supported .\target\dice.fs(986,34): (986,53) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(987,30): (987,108) error FABLE: String templates are not supported .\target\dice.fs(992,31): (992,95) error FABLE: String templates are not supported .\target\dice.fs(1004,34): (1004,53) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(1005,30): (1005,108) error FABLE: String templates are not supported .\target\dice.fs(1010,31): (1010,95) error FABLE: String templates are not supported .\target\dice.fs(1039,26): (1039,28) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(1043,36): (1043,56) error FABLE: Numeric literal is not supported: System.Int64 .\target\dice.fs(1795,22): (1795,114) error FABLE: String templates are not supported .\target\dice.fs(1800,22): (1800,37) error FABLE: String templates are not supported Compilation failed # Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock: 'dotnet fable target/dice.fsproj --optimize --lang php --extension .php --outDir target/php' Fable 4.5.0: F# to Dart compiler (status: beta) Thanks to the contributor! @BillHally Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 236ms Started Fable compilation... Fable compilation finished in 3067ms .\..\..\lib\fsharp\Common.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5 .\target\dice.fs(1,1): error FABLE: Cannot find reference for System.Random Compilation failed # Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock: 'dotnet fable target/dice.fsproj --optimize --lang dart --extension .dart --outDir target/dart' Fable 4.5.0: F# to Rust compiler (status: alpha) Thanks to the contributor! @dbrattli Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 242ms Started Fable compilation... Fable compilation finished in 3256ms Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice) Finished release [optimized] target(s) in 7.60s Running `C:\home\git\polyglot\target\release\dice.exe` calculate_dice_count / max: 9223372036854775807 / n: 24 / p: 4738381338321616896 accumulate_dice_rolls / power: 23 / acc: 0 / roll: 1 accumulate_dice_rolls / power: 22 / acc: 0 / roll: 1 accumulate_dice_rolls / power: 21 / acc: 0 / roll: 4 / value: 65810851921133568 accumulate_dice_rolls / power: 20 / acc: 65810851921133568 / roll: 2 / value: 3656158440062976 accumulate_dice_rolls / power: 19 / acc: 69467010361196544 / roll: 5 / value: 2437438960041984 accumulate_dice_rolls / power: 18 / acc: 71904449321238528 / roll: 5 / value: 406239826673664 accumulate_dice_rolls / power: 17 / acc: 72310689147912192 / roll: 4 / value: 50779978334208 accumulate_dice_rolls / power: 16 / acc: 72361469126246400 / roll: 2 / value: 2821109907456 accumulate_dice_rolls / power: 15 / acc: 72364290236153856 / roll: 4 / value: 1410554953728 accumulate_dice_rolls / power: 14 / acc: 72365700791107584 / roll: 1 accumulate_dice_rolls / power: 13 / acc: 72365700791107584 / roll: 1 accumulate_dice_rolls / power: 12 / acc: 72365700791107584 / roll: 4 / value: 6530347008 accumulate_dice_rolls / power: 11 / acc: 72365707321454592 / roll: 5 / value: 1451188224 accumulate_dice_rolls / power: 10 / acc: 72365708772642816 / roll: 1 accumulate_dice_rolls / power: 9 / acc: 72365708772642816 / roll: 4 / value: 30233088 accumulate_dice_rolls / power: 8 / acc: 72365708802875904 / roll: 3 / value: 3359232 accumulate_dice_rolls / power: 7 / acc: 72365708806235136 / roll: 6 / value: 1399680 accumulate_dice_rolls / power: 6 / acc: 72365708807634816 / roll: 3 / value: 93312 accumulate_dice_rolls / power: 5 / acc: 72365708807728128 / roll: 2 / value: 7776 accumulate_dice_rolls / power: 4 / acc: 72365708807735904 / roll: 2 / value: 1296 accumulate_dice_rolls / power: 3 / acc: 72365708807737200 / roll: 3 / value: 432 accumulate_dice_rolls / power: 2 / acc: 72365708807737632 / roll: 5 / value: 144 accumulate_dice_rolls / power: 1 / acc: 72365708807737776 / roll: 1 accumulate_dice_rolls / power: 0 / acc: 72365708807737776 / roll: 1 accumulate_dice_rolls / power: -1 / acc: 72365708807737776 result: 72365708807737777 Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice) Compiling dice_contract v0.0.1 (C:\home\git\polyglot\apps\dice\contract) Finished release [optimized] target(s) in 6.90s ## 7 Finished release [optimized] target(s) in 17.33s Running `/mnt/c/home/git/polyglot/target/release/dice_contract_tests` new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5275220666292, }, transaction: ExecutionOutcome { transaction_hash: CK4t4gLjgNjmuAw4pDASJmz9h6nbs8D4Ep8nrn7EUNaJ, block_hash: 7THgdpVqu12hx6XpD9JgzHrBqqYmBd6XZbJsd3QygouY, logs: [], receipt_ids: [ FULmRTnpGu6fG3hn4NreCWhCCFUVRTvNBSri58fFg1Qc, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: NearToken { inner: 242792770780200000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessReceiptId(FULmRTnpGu6fG3hn4NreCWhCCFUVRTvNBSri58fFg1Qc), }, receipts: [ ExecutionOutcome { transaction_hash: FULmRTnpGu6fG3hn4NreCWhCCFUVRTvNBSri58fFg1Qc, block_hash: 7THgdpVqu12hx6XpD9JgzHrBqqYmBd6XZbJsd3QygouY, logs: [], receipt_ids: [ J4PkmcPLiW3Gp2EUp1ewjuxGbvUgScyiKfRsk3C5z7tb, ], gas_burnt: NearGas { inner: 2624110395990, }, tokens_burnt: NearToken { inner: 262411039599000000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: J4PkmcPLiW3Gp2EUp1ewjuxGbvUgScyiKfRsk3C5z7tb, block_hash: BvaLkUafM4pQzVA4fk7oGNF7EpqcTHPgHVJdNeFopsG5, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0035238474050830557 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00175290574452132 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 roll_within_bounds(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5425609064677, }, transaction: ExecutionOutcome { transaction_hash: 46mRt2c36oMwPnjWiS2rgE6PWHSQjsKEjJz6JiSewnNZ, block_hash: AaV4RBRjmC4Gc5GyWgAZmQvCphUiozmtgLBqi72FK95M, logs: [], receipt_ids: [ BmTryamNDz8dJvUHmfzHMtaiDMuvd6FUN1UpomVxNvtV, ], gas_burnt: NearGas { inner: 2428032796700, }, tokens_burnt: NearToken { inner: 242803279670000000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessReceiptId(BmTryamNDz8dJvUHmfzHMtaiDMuvd6FUN1UpomVxNvtV), }, receipts: [ ExecutionOutcome { transaction_hash: BmTryamNDz8dJvUHmfzHMtaiDMuvd6FUN1UpomVxNvtV, block_hash: AaV4RBRjmC4Gc5GyWgAZmQvCphUiozmtgLBqi72FK95M, logs: [ "roll_within_bounds / max: 2000 / rolls: [1, 5, 4, 4, 5]", "accumulate_dice_rolls / power: 4 / acc: 0 / roll: 1\naccumulate_dice_rolls / power: 3 / acc: 0 / roll: 5 / value: 864\naccumulate_dice_rolls / power: 2 / acc: 864 / roll: 4 / value: 108\naccumulate_dice_rolls / power: 1 / acc: 972 / roll: 4 / value: 18\naccumulate_dice_rolls / power: 0 / acc: 990 / roll: 5 / value: 4", "accumulate_dice_rolls / power: -1 / acc: 994", ], receipt_ids: [ fJkb4CyY6Vk4PkvnHmhBraBBaJcu4zHmmqVYdMJV6h2, ], gas_burnt: NearGas { inner: 2774393705477, }, tokens_burnt: NearToken { inner: 277439370547700000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue('995'), }, ExecutionOutcome { transaction_hash: fJkb4CyY6Vk4PkvnHmhBraBBaJcu4zHmmqVYdMJV6h2, block_hash: 9TLq73g8kpmoLgsrotUDxEww187BWiXMjSNLJRuSiZMW, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(''), }, ], status: SuccessValue('995'), } total_gas_burnt_usd: 0.0036243068552042363 outcome (success: true): outcome_gas_burnt_usd: 0.0016219259081956 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0018532949952586358 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 roll_within_bounds_borsh(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5434950014020, }, transaction: ExecutionOutcome { transaction_hash: 99p53wYwQ5VdVjFVHwritpziHcK7vVEVnbhggG2MThyM, block_hash: 75WXyRa2ePpPDqHnUwTLFxoYkvncghkGvf3ZHdfL78t7, logs: [], receipt_ids: [ CqnTz8VZT1hxt4UCkWvTUZSKrN11EB89ijwnmW63uJiC, ], gas_burnt: NearGas { inner: 2428012673294, }, tokens_burnt: NearToken { inner: 242801267329400000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessReceiptId(CqnTz8VZT1hxt4UCkWvTUZSKrN11EB89ijwnmW63uJiC), }, receipts: [ ExecutionOutcome { transaction_hash: CqnTz8VZT1hxt4UCkWvTUZSKrN11EB89ijwnmW63uJiC, block_hash: 75WXyRa2ePpPDqHnUwTLFxoYkvncghkGvf3ZHdfL78t7, logs: [ "roll_within_bounds / max: 2000 / rolls: [2, 2, 6, 4, 5]", "accumulate_dice_rolls / power: 4 / acc: 0 / roll: 2 / value: 1296\naccumulate_dice_rolls / power: 3 / acc: 1296 / roll: 2 / value: 216\naccumulate_dice_rolls / power: 2 / acc: 1512 / roll: 6 / value: 180\naccumulate_dice_rolls / power: 1 / acc: 1692 / roll: 4 / value: 18\naccumulate_dice_rolls / power: 0 / acc: 1710 / roll: 5 / value: 4", "accumulate_dice_rolls / power: -1 / acc: 1714", ], receipt_ids: [ 7H1W3VNT6sW1v3s8SpdfTDbWcEDv3WBkZaXgUzZHgjU3, ], gas_burnt: NearGas { inner: 2783754778226, }, tokens_burnt: NearToken { inner: 278375477822600000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(AbMGAAAAAAAA), }, ExecutionOutcome { transaction_hash: 7H1W3VNT6sW1v3s8SpdfTDbWcEDv3WBkZaXgUzZHgjU3, block_hash: 7LmTWT8saPaWmZg2phURDwmPf7EFhGDdyp6woR3ScAHy, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(''), }, ], status: SuccessValue(AbMGAAAAAAAA), } total_gas_burnt_usd: 0.00363054660936536 outcome (success: true): outcome_gas_burnt_usd: 0.001621912465760392 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0018595481918549678 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 n: Some( Some( 1715, ), ) generate_random_number(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 12264406169059, }, transaction: ExecutionOutcome { transaction_hash: HDGyi3sJuqgCrHD92eYBaDrfEbjvabjGEUM2mZkFNyVa, block_hash: 9YNUnHBNtFyswC8s4i9ppswHoq6uWHWHnVxmEHu372d1, logs: [], receipt_ids: [ 42V38ZrGYBRjf7YjwoyXBd3t81EgMmVhySoUru3TCje5, ], gas_burnt: NearGas { inner: 2428032796700, }, tokens_burnt: NearToken { inner: 242803279670000000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessReceiptId(42V38ZrGYBRjf7YjwoyXBd3t81EgMmVhySoUru3TCje5), }, receipts: [ ExecutionOutcome { transaction_hash: 42V38ZrGYBRjf7YjwoyXBd3t81EgMmVhySoUru3TCje5, block_hash: 9YNUnHBNtFyswC8s4i9ppswHoq6uWHWHnVxmEHu372d1, logs: [ "generate_random_number / max: 2000 / proof: \"proof\" / block_timestamp: 1699421215378761088 / block_height: 25 / epoch_height: 1 / account_balance: 99996919032086235997000000 / signer_account_id: \"dev-20231108052650-71958150611263\" / seed: [228, 59, 55, 180, 48, 0, 156, 107, 50, 51, 134, 1, 180, 236, 194, 1, 140, 22, 13, 163, 115, 251, 177, 197, 74, 40, 130, 55, 174, 80, 218, 145] / entropy: [228, 59, 55, 180, 48, 0, 156, 107, 50, 51, 134, 1, 180, 236, 194, 1, 140, 22, 13, 163, 115, 251, 177, 197, 74, 40, 130, 55, 174, 80, 218, 145, 128, 229, 105, 106, 151, 142, 149, 23, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 209, 67, 76, 236, 50, 195, 215, 43, 183, 82, 0, 0, 0, 0, 0, 100, 101, 118, 45, 50, 48, 50, 51, 49, 49, 48, 56, 48, 53, 50, 54, 53, 48, 45, 55, 49, 57, 53, 56, 49, 53, 48, 54, 49, 49, 50, 54, 51, 112, 114, 111, 111, 102] / hash_u8: [125, 114, 106, 4, 195, 54, 117, 170, 14, 134, 171, 215, 252, 230, 64, 234, 225, 135, 138, 102, 221, 184, 104, 153, 122, 7, 192, 157, 45, 117, 35, 77, 200, 27, 90, 0, 156, 99, 53, 175, 99, 133, 145, 44, 37, 66, 72, 67, 221, 64, 226, 87, 50, 64, 229, 144, 131, 124, 243, 126, 81, 68, 6, 51] / rolls_stream: [3, 6, 2, 3, 6, 3, 4, 5, 6, 1, 4, 2, 3, 4, 4, 5, 1, 6, 6, 1, 2, 1, 1, 3, 1, 5, 3, 6, 6, 6, 3, 2, 5, 5, 3, 3, 1, 6, 1, 2, 3, 2, 4, 5, 6, 6, 3, 3, 6, 4, 2, 6, 5, 3, 2, 2, 2, 3, 6, 3, 4, 4, 6, 5]", "calculate_dice_count / max: 2000 / n: 5 / p: 7776\naccumulate_dice_rolls / power: 4 / acc: 0 / roll: 3 / value: 2592\naccumulate_dice_rolls / power: 3 / acc: 2592 / roll: 4 / value: 648\naccumulate_dice_rolls / power: 2 / acc: 3240 / roll: 4 / value: 108\naccumulate_dice_rolls / power: 1 / acc: 3348 / roll: 6 / value: 30", "accumulate_dice_rolls / power: 0 / acc: 3378 / roll: 5 / value: 4\naccumulate_dice_rolls / power: -1 / acc: 3382\naccumulate_dice_rolls / power: 4 / acc: 0 / roll: 6 / value: 6480\naccumulate_dice_rolls / power: 3 / acc: 6480 / roll: 3 / value: 432\naccumulate_dice_rolls / power: 2 / acc: 6912 / roll: 4 / value: 108\naccumulate_dice_rolls / power: 1 / acc: 7020 / roll: 4 / value: 18", "accumulate_dice_rolls / power: 0 / acc: 7038 / roll: 6 / value: 5\naccumulate_dice_rolls / power: -1 / acc: 7043\naccumulate_dice_rolls / power: 4 / acc: 0 / roll: 3 / value: 2592\naccumulate_dice_rolls / power: 3 / acc: 2592 / roll: 6 / value: 1080\naccumulate_dice_rolls / power: 2 / acc: 3672 / roll: 3 / value: 72\naccumulate_dice_rolls / power: 1 / acc: 3744 / roll: 4 / value: 18", "accumulate_dice_rolls / power: 0 / acc: 3762 / roll: 4 / value: 3\naccumulate_dice_rolls / power: -1 / acc: 3765\naccumulate_dice_rolls / power: 4 / acc: 0 / roll: 2 / value: 1296\naccumulate_dice_rolls / power: 3 / acc: 1296 / roll: 3 / value: 432\naccumulate_dice_rolls / power: 2 / acc: 1728 / roll: 6 / value: 180\naccumulate_dice_rolls / power: 1 / acc: 1908 / roll: 3 / value: 12", "accumulate_dice_rolls / power: 0 / acc: 1920 / roll: 4 / value: 3\naccumulate_dice_rolls / power: -1 / acc: 1923", ], receipt_ids: [ 4nbQDyKvnMGNJ5to97z81iWWH1Lms7H3Sev8FECdgW7P, ], gas_burnt: NearGas { inner: 9613190809859, }, tokens_burnt: NearToken { inner: 961319080985900000000, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue('1924'), }, ExecutionOutcome { transaction_hash: 4nbQDyKvnMGNJ5to97z81iWWH1Lms7H3Sev8FECdgW7P, block_hash: muqUP8hdem5inDmQ3nfrSkN5oZzXTUCKG3tok6uAZMY, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20231108052650-71958150611263", ), status: SuccessValue(''), }, ], status: SuccessValue('1924'), } total_gas_burnt_usd: 0.008192623320931411 outcome (success: true): outcome_gas_burnt_usd: 0.0016219259081956 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.006421611460985812 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 n: 1924 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60 00:00:00 #2 [Debug] executeAsync / options: { Command = "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805" WorkingDirectory = None CancellationToken = Some System.Threading.CancellationToken OnLine = Some <fun:main@411-297> } 00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\dice\ui 00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release 00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500 00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length: 00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0 00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805 00:00:01 #10 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:01 #11 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:01 #12 [Debug] sendJson / port: 13805 / json: {"FileOpen":{"spiText":"\n// use leptos::{logging::log, *};\n\n// pub fn main() {\n// _ = console_log::init_with_level(log::Level::Debug);\n// console_error_panic_hook::set_once();\n\n// log!(\u0022csr mode - mounting to body\u0022);\n\n// mount_to_body(|| {\n// view! { \u003Cdice_ui::app::App /\u003E }\n// });\n// }\n\n\ninl leptos_log (text : string) =\n rust.emit_expr () $\u0027@@\u0022leptos::logging::log\\!(\u0022\u0022{}\u0022\u0022, \u0022\u0022\u0022 \u002B !text \u002B @@\u0022\u0022\u0022)\u0022\u0027 : ()\n\ninl main (_args : array string) =\n inl result = \u0022result\u0022\n console.write_line ($\u0022$\\\u0022result: {!result}\\\u0022\u0022 : string)\n\n\n leptos_log \u0022main / mount_to_body\u0022\n\n 0i32\n\ninl main () =\n $\u0022let main args = !main args\u0022 : ()\n","uri":"file:///C:\\home\\git\\polyglot\\apps\\dice\\ui\\ui.spi"}} / result.Length: 00:00:01 #13 [Debug] sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\home\\git\\polyglot\\apps\\dice\\ui\\ui.spi"}} / result.Length: 00:00:01 #14 [Verbose] > Building C:\home\git\polyglot\apps\dice\ui\ui.spi 00:00:02 #15 [Debug] buildFile / takeWhileInclusive / fsxContent: / errors: [] / typeErrorCount: 0 00:00:03 #16 [Debug] buildFile / takeWhileInclusive / fsxContent: Some(let rec closure0 () (v0 : (string [])) : int32 = let v1 : string = "result" let v2 : string = $"result: {v1}" System.Console.WriteLine v2 let v3 : string = "main / mount_to_body" let v4 : string = @"leptos::logging::log!(""{}"", """ + v3 + @""")" Fable.Core.RustInterop.emitRustExpr () v4 0 let v0 : ((string []) -> int32) = closure0() let main args = v0 args () ) / errors: [] / typeErrorCount: 0 00:00:03 #17 [Debug] watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:00 #1 [Debug] persistCodeProject / packages: [Fable.Core] / modules: [lib/fsharp/Common.fs] / dir: C:\home\git\polyglot\apps\dice\ui / name: ui / code.Length: 403 00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj 00:00:00 #3 [Debug] executeAsync / options: { Command = "dotnet publish "C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj" --configuration Release --output ../dist --runtime linux-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\ui\target" CancellationToken = None OnLine = None } 00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 00:00:01 #5 [Verbose] > Determining projects to restore... 00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj (in 368 ms). 00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj] 00:00:05 #8 [Verbose] > ui -> C:\home\git\polyglot\apps\dice\ui\target\bin\Release\net8.0\linux-x64\ui.dll 00:00:06 #9 [Verbose] > ui -> C:\home\git\polyglot\apps\dice\ui\dist\ 00:00:06 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 596 00:00:06 #11 [Debug] executeAsync / options: { Command = "dotnet publish "C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj" --configuration Release --output ../dist --runtime win-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\ui\target" CancellationToken = None OnLine = None } 00:00:06 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 00:00:07 #13 [Verbose] > Determining projects to restore... 00:00:08 #14 [Verbose] > Restored C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj (in 372 ms). 00:00:08 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\ui\target\ui.fsproj] 00:00:11 #16 [Verbose] > ui -> C:\home\git\polyglot\apps\dice\ui\target\bin\Release\net8.0\win-x64\ui.dll 00:00:14 #17 [Verbose] > ui -> C:\home\git\polyglot\apps\dice\ui\dist\ 00:00:14 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 594 Fable 4.5.0: F# to Rust compiler (status: alpha) Thanks to the contributor! @mastoj Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\ui.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 199ms Started Fable compilation... Fable compilation finished in 2841ms Rebuilding... Done in 273ms. 2023-11-08T05:27:27.496298Z INFO 📦 starting build 2023-11-08T05:27:27.497186Z INFO spawning asset pipelines 2023-11-08T05:27:28.541655Z INFO building dice_ui 2023-11-08T05:27:28.541682Z INFO copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\dice\\ui\\public\\favicon.ico" 2023-11-08T05:27:28.541703Z INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\dice\\ui\\target\\tailwind.css" 2023-11-08T05:27:28.541734Z INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css" 2023-11-08T05:27:28.543257Z INFO finished copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\dice\\ui\\public\\favicon.ico" 2023-11-08T05:27:28.545053Z INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\dice\\ui\\target\\tailwind.css" 2023-11-08T05:27:28.545373Z INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css" Compiling dice_ui v0.0.1 (C:\home\git\polyglot\apps\dice\ui) Finished release [optimized] target(s) in 7.27s 2023-11-08T05:27:35.960020Z INFO fetching cargo artifacts 2023-11-08T05:27:36.579744Z INFO processing WASM for dice_ui 2023-11-08T05:27:36.628042Z INFO calling wasm-bindgen for dice_ui 2023-11-08T05:27:36.710185Z INFO copying generated wasm-bindgen artifacts 2023-11-08T05:27:37.068523Z INFO using system installed binary app=wasm-opt version=version_113 2023-11-08T05:27:37.068827Z INFO calling wasm-opt 2023-11-08T05:27:39.170177Z INFO copying generated wasm-opt artifacts 2023-11-08T05:27:39.178284Z INFO applying new distribution 2023-11-08T05:27:39.182521Z INFO ✅ success Build completed! Filename Size dist\favicon-f1d578da7a480441.ico 16.28 KiB dist\dice_ui-69c08c57d1bb09f_bg.wasm 23.31 KiB dist\dice_ui-69c08c57d1bb09f.js 4.07 KiB dist/1-VLNPYEMK.css 565.00 B dist/tailwind-b63baf4148ff59a-S3B72S66.css 5.17 KiB dist/components-61317960c9987b2e-YWB32TZ5.css 78.01 KiB dist/2-W4DZVDBI.js 1.95 KiB dist\index.html 661.00 B —————————— 129.98 KiB Lockfile is up to date, resolution step is skipped Packages: +290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Done in 2s > e2e@ test:e2e C:\home\git\polyglot\apps\dice\ui\e2e > playwright test INFO Accepting connections at http://localhost:3000 HTTP 11/8/2023 1:27:51 AM ::1 GET / HTTP 11/8/2023 1:27:51 AM ::1 Returned 200 in 20 ms Running 1 test using 1 worker [1/1] [Desktop Chrome] › test.spec.ts:3:5 › test HTTP 11/8/2023 1:27:54 AM ::1 GET / HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 2 ms HTTP 11/8/2023 1:27:54 AM ::1 GET /tailwind-b63baf4148ff59a-S3B72S66.css HTTP 11/8/2023 1:27:54 AM ::1 GET /components-61317960c9987b2e-YWB32TZ5.css HTTP 11/8/2023 1:27:54 AM ::1 GET /1-VLNPYEMK.css HTTP 11/8/2023 1:27:54 AM ::1 GET /dice_ui-69c08c57d1bb09f_bg.wasm HTTP 11/8/2023 1:27:54 AM ::1 GET /2-W4DZVDBI.js HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 10 ms HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 11 ms HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 10 ms HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 11 ms HTTP 11/8/2023 1:27:54 AM ::1 Returned 200 in 11 ms 1 passed (3.4s) To open last HTML report run: npx playwright show-report
In [ ]:
{ . "$ScriptDir/../apps/dice/fsharp/build.ps1" } | Invoke-Block
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\dice\fsharp
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../../scripts/invoke-dib.ps1 dice_fsharp.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:04 #11 [Verbose] >
00:00:04 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:04 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:04 #14 [Verbose] > │ # dice_fsharp (Polyglot) │
00:00:04 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > #!import ../../../lib/fsharp/Testing.dib
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 #21 [Verbose] > #r
00:00:04 #22 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
00:00:04 #23 [Verbose] > spNetCore.Html.Abstractions.dll"
00:00:04 #24 [Verbose] > #r
00:00:04 #25 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #26 [Verbose] > otNet.Interactive.dll"
00:00:04 #27 [Verbose] > #r
00:00:04 #28 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #29 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:04 #30 [Verbose] > #r
00:00:04 #31 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:04 #32 [Verbose] > otNet.Interactive.Formatting.dll"
00:00:04 #33 [Verbose] > open System
00:00:04 #34 [Verbose] > open System.IO
00:00:04 #35 [Verbose] > open System.Text
00:00:04 #36 [Verbose] > open Microsoft.DotNet.Interactive.Formatting
00:00:08 #37 [Verbose] >
00:00:08 #38 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #39 [Verbose] > #r
00:00:08 #40 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:08 #41 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:08 #42 [Verbose] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:08 #43 [Verbose] > #r
00:00:08 #44 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:08 #45 [Verbose] > otNet.Interactive.dll"
00:00:08 #46 [Verbose] > open type Microsoft.DotNet.Interactive.Kernel
00:00:08 #47 [Verbose] >
00:00:08 #48 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #49 [Verbose] > #r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
00:00:08 #50 [Verbose] >
00:00:08 #51 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 #52 [Verbose] > //// test
00:00:08 #53 [Verbose] >
00:00:08 #54 [Verbose] > Formatter.ListExpansionLimit <- 100
00:00:09 #55 [Verbose] >
00:00:09 #56 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:09 #57 [Verbose] > //// test
00:00:09 #58 [Verbose] >
00:00:09 #59 [Verbose] > type AssertExceptionFormatter (ex) =
00:00:09 #60 [Verbose] > member _.Text =
00:00:09 #61 [Verbose] > ex.ToString()
00:00:09 #62 [Verbose] > .Replace("32m", "<span style=\"color: green;\">")
00:00:09 #63 [Verbose] > .Replace("36m", "</span>")
00:00:09 #64 [Verbose] > .Replace("31m", "<span style=\"color: red;\">")
00:00:09 #65 [Verbose] > .Replace("\n", "<br/>\n")
00:00:09 #66 [Verbose] >
00:00:09 #67 [Verbose] >
00:00:09 #68 [Verbose] > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:09 #69 [Verbose] > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:10 #70 [Verbose] >
00:00:10 #71 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 #72 [Verbose] > //// test
00:00:10 #73 [Verbose] >
00:00:10 #74 [Verbose] > let inline __expect fn log expected actual =
00:00:10 #75 [Verbose] > if log then printfn $"{actual.ToDisplayString ()}"
00:00:10 #76 [Verbose] > try
00:00:10 #77 [Verbose] > "Testing.__expect" |> fn actual expected
00:00:10 #78 [Verbose] > with :? Expecto.AssertException as ex ->
00:00:10 #79 [Verbose] > AssertExceptionFormatter(ex).Display () |> ignore
00:00:10 #80 [Verbose] > failwith (ex.GetType().FullName)
00:00:10 #81 [Verbose] >
00:00:10 #82 [Verbose] > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:10 #83 [Verbose] > expected actual
00:00:10 #84 [Verbose] > let inline _contains expected actual = __contains true expected actual
00:00:10 #85 [Verbose] >
00:00:10 #86 [Verbose] > let inline __equal log expected actual = __expect Expecto.Expect.equal log
00:00:10 #87 [Verbose] > expected actual
00:00:10 #88 [Verbose] > let inline _equal expected actual = __equal true expected actual
00:00:10 #89 [Verbose] >
00:00:10 #90 [Verbose] > let inline __isGreaterThan log expected actual = __expect
00:00:10 #91 [Verbose] > Expecto.Expect.isGreaterThan log expected actual
00:00:10 #92 [Verbose] > let ...
00:00:11 #93 [Verbose] >
00:00:11 #94 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #95 [Verbose] > //// test
00:00:11 #96 [Verbose] >
00:00:11 #97 [Verbose] > let inline __isBetween log a b actual =
00:00:11 #98 [Verbose] > let inline isBetween actual (a, b) _ =
00:00:11 #99 [Verbose] > __isGreaterThanOrEqual log a actual
00:00:11 #100 [Verbose] > __isLessThanOrEqual log b actual
00:00:11 #101 [Verbose] > __expect isBetween log (a, b) actual
00:00:11 #102 [Verbose] > let inline _isBetween a b actual = __isBetween true a b actual
00:00:11 #103 [Verbose] >
00:00:11 #104 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:11 #105 [Verbose] > #!import ../../../lib/fsharp/Common.fs
00:00:11 #106 [Verbose] >
00:00:11 #107 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #108 [Verbose] > #if !INTERACTIVE
00:00:11 #109 [Verbose] > namespace Polyglot
00:00:11 #110 [Verbose] > #endif
00:00:11 #111 [Verbose] >
00:00:11 #112 [Verbose] > module Common =
00:00:11 #113 [Verbose] >
00:00:11 #114 [Verbose] > let nl = System.Environment.NewLine
00:00:11 #115 [Verbose] > let q = @""""
00:00:11 #116 [Verbose] >
00:00:11 #117 [Verbose] > let inline cons head tail = head :: tail
00:00:11 #118 [Verbose] >
00:00:11 #119 [Verbose] > module String =
00:00:11 #120 [Verbose] > let inline contains (value : string) (input : string) =
00:00:11 #121 [Verbose] > input.Contains value
00:00:11 #122 [Verbose] >
00:00:11 #123 [Verbose] > let inline endsWith (value : string) (input : string) =
00:00:11 #124 [Verbose] > input.EndsWith value
00:00:11 #125 [Verbose] >
00:00:11 #126 [Verbose] > let inline padLeft totalWidth paddingChar (input : string) =
00:00:11 #127 [Verbose] > input.PadLeft (totalWidth, paddingChar)
00:00:11 #128 [Verbose] >
00:00:11 #129 [Verbose] > let inline replace (oldValue : string) (newValue : string) (input :
00:00:11 #130 [Verbose] > string) =
00:00:11 #131 [Verbose] > input.Replace (oldValue, newValue)
00:00:11 #132 [Verbose] >
00:00:11 #133 [Verbose] > let inline split separator (input : string) =
00:00:11 #134 [Verbose] > input.Split separator
00:00:11 #135 [Verbose] >
00:00:11 #136 [Verbose] > let inline spli...
00:00:12 #137 [Verbose] >
00:00:12 #138 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #139 [Verbose] > open Common
00:00:12 #140 [Verbose] >
00:00:12 #141 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #142 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #143 [Verbose] > │ ## sixthPowerSequence │
00:00:12 #144 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #145 [Verbose] >
00:00:12 #146 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #147 [Verbose] > let sixthPowerSequence = 1 |> Seq.unfold (fun state -> Some (state, state * 6))
00:00:12 #148 [Verbose] > |> Seq.cache
00:00:12 #149 [Verbose] >
00:00:12 #150 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #151 [Verbose] > //// test
00:00:12 #152 [Verbose] >
00:00:12 #153 [Verbose] > sixthPowerSequence
00:00:12 #154 [Verbose] > |> Seq.take 8
00:00:12 #155 [Verbose] > |> Seq.toList
00:00:12 #156 [Verbose] > |> _equal [[ 1; 6; 36; 216; 1296; 7776; 46656; 279936 ]]
00:00:12 #157 [Verbose] >
00:00:12 #158 [Verbose] > ╭─[ 77.22ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #159 [Verbose] > │ [ 1, 6, 36, 216, 1296, 7776, 46656, 279936 ] │
00:00:12 #160 [Verbose] > │ │
00:00:12 #161 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #162 [Verbose] >
00:00:12 #163 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #164 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #165 [Verbose] > │ ## accumulateDiceRolls │
00:00:12 #166 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #167 [Verbose] >
00:00:12 #168 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #169 [Verbose] > let rec accumulateDiceRolls log rolls power acc =
00:00:12 #170 [Verbose] > match rolls with
00:00:12 #171 [Verbose] > | _ when power < 0 ->
00:00:12 #172 [Verbose] > log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc:
00:00:12 #173 [Verbose] > {acc}")
00:00:12 #174 [Verbose] > Some (acc + 1, rolls)
00:00:12 #175 [Verbose] > | [[]] -> None
00:00:12 #176 [Verbose] > | roll :: rest when roll > 1 ->
00:00:12 #177 [Verbose] > let coeff = sixthPowerSequence |> Seq.item power
00:00:12 #178 [Verbose] > let value = (roll - 1) * coeff
00:00:12 #179 [Verbose] > log |> Option.iter ((|>) $"accumulateDiceRolls / \
00:00:12 #180 [Verbose] > power: {power} / acc: {acc} / roll: {roll} / value: {value}"
00:00:12 #181 [Verbose] > )
00:00:12 #182 [Verbose] > accumulateDiceRolls log rest (power - 1) (acc + value)
00:00:12 #183 [Verbose] > | roll :: rest ->
00:00:12 #184 [Verbose] > log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc:
00:00:12 #185 [Verbose] > {acc} / roll: {roll}")
00:00:12 #186 [Verbose] > accumulateDiceRolls log rest (power - 1) acc
00:00:12 #187 [Verbose] >
00:00:12 #188 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #189 [Verbose] > //// test
00:00:12 #190 [Verbose] >
00:00:12 #191 [Verbose] > accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 0 1000
00:00:12 #192 [Verbose] > |> _equal (Some (1006, [[ 5; 4; 3; 2 ]]))
00:00:12 #193 [Verbose] >
00:00:12 #194 [Verbose] > ╭─[ 41.19ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #195 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 1000 / roll: 6 / value: 5 │
00:00:12 #196 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 1005 │
00:00:12 #197 [Verbose] > │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │
00:00:12 #198 [Verbose] > │ Value: - 1006 │
00:00:12 #199 [Verbose] > │ - [ 5, 4, 3, 2 ] │
00:00:12 #200 [Verbose] > │ │
00:00:12 #201 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #202 [Verbose] >
00:00:12 #203 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #204 [Verbose] > //// test
00:00:12 #205 [Verbose] >
00:00:12 #206 [Verbose] > accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 1 1000
00:00:12 #207 [Verbose] > |> _equal (Some (1035, [[ 4; 3; 2 ]]))
00:00:12 #208 [Verbose] >
00:00:12 #209 [Verbose] > ╭─[ 31.66ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #210 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 1000 / roll: 6 / value: 30 │
00:00:12 #211 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 1030 / roll: 5 / value: 4 │
00:00:12 #212 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 1034 │
00:00:12 #213 [Verbose] > │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │
00:00:12 #214 [Verbose] > │ Value: - 1035 │
00:00:12 #215 [Verbose] > │ - [ 4, 3, 2 ] │
00:00:12 #216 [Verbose] > │ │
00:00:12 #217 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #218 [Verbose] >
00:00:12 #219 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #220 [Verbose] > //// test
00:00:12 #221 [Verbose] >
00:00:12 #222 [Verbose] > accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 2 1000
00:00:12 #223 [Verbose] > |> _equal (Some (1208, [[ 3; 2 ]]))
00:00:12 #224 [Verbose] >
00:00:12 #225 [Verbose] > ╭─[ 25.56ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #226 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 1000 / roll: 6 / value: 180 │
00:00:12 #227 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 1180 / roll: 5 / value: 24 │
00:00:12 #228 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 1204 / roll: 4 / value: 3 │
00:00:12 #229 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 1207 │
00:00:12 #230 [Verbose] > │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │
00:00:12 #231 [Verbose] > │ Value: - 1208 │
00:00:12 #232 [Verbose] > │ - [ 3, 2 ] │
00:00:12 #233 [Verbose] > │ │
00:00:12 #234 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #235 [Verbose] >
00:00:12 #236 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #237 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #238 [Verbose] > │ ## rollWithinBounds │
00:00:12 #239 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #240 [Verbose] >
00:00:12 #241 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #242 [Verbose] > let rollWithinBounds log max rolls =
00:00:12 #243 [Verbose] > let power = List.length rolls - 1
00:00:12 #244 [Verbose] > match accumulateDiceRolls log rolls power 0 with
00:00:12 #245 [Verbose] > | Some (result, _) when result >= 1 && result <= max -> Some result
00:00:12 #246 [Verbose] > | _ -> None
00:00:12 #247 [Verbose] >
00:00:12 #248 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #249 [Verbose] > //// test
00:00:12 #250 [Verbose] >
00:00:12 #251 [Verbose] > rollWithinBounds (Some (printfn "%s")) 2000 [[ 1; 5; 4; 4; 5 ]]
00:00:12 #252 [Verbose] > |> _equal (Some 995)
00:00:12 #253 [Verbose] >
00:00:12 #254 [Verbose] > ╭─[ 29.45ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #255 [Verbose] > │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1 │
00:00:12 #256 [Verbose] > │ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864 │
00:00:12 #257 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108 │
00:00:12 #258 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18 │
00:00:12 #259 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4 │
00:00:12 #260 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 994 │
00:00:12 #261 [Verbose] > │ FSharpOption<Int32> │
00:00:12 #262 [Verbose] > │ Value: 995 │
00:00:12 #263 [Verbose] > │ │
00:00:12 #264 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #265 [Verbose] >
00:00:12 #266 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #267 [Verbose] > //// test
00:00:12 #268 [Verbose] >
00:00:12 #269 [Verbose] > rollWithinBounds (Some (printfn "%s")) 2000 [[ 2; 2; 6; 4; 5 ]]
00:00:12 #270 [Verbose] > |> _equal (Some 1715)
00:00:12 #271 [Verbose] >
00:00:12 #272 [Verbose] > ╭─[ 27.54ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #273 [Verbose] > │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │
00:00:12 #274 [Verbose] > │ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 2 / value: 216 │
00:00:12 #275 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 1512 / roll: 6 / value: 180 │
00:00:12 #276 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 1692 / roll: 4 / value: 18 │
00:00:12 #277 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 1710 / roll: 5 / value: 4 │
00:00:12 #278 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 1714 │
00:00:12 #279 [Verbose] > │ FSharpOption<Int32> │
00:00:12 #280 [Verbose] > │ Value: 1715 │
00:00:12 #281 [Verbose] > │ │
00:00:12 #282 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #283 [Verbose] >
00:00:12 #284 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #285 [Verbose] > //// test
00:00:12 #286 [Verbose] >
00:00:12 #287 [Verbose] > rollWithinBounds (Some (printfn "%s")) 2000 [[ 4; 1; 1; 2; 3 ]]
00:00:12 #288 [Verbose] > |> _equal None
00:00:12 #289 [Verbose] >
00:00:12 #290 [Verbose] > ╭─[ 27.98ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #291 [Verbose] > │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 4 / value: 3888 │
00:00:12 #292 [Verbose] > │ accumulateDiceRolls / power: 3 / acc: 3888 / roll: 1 │
00:00:12 #293 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 3888 / roll: 1 │
00:00:12 #294 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 3888 / roll: 2 / value: 6 │
00:00:12 #295 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 3894 / roll: 3 / value: 2 │
00:00:12 #296 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 3896 │
00:00:12 #297 [Verbose] > │ <null> │
00:00:12 #298 [Verbose] > │ │
00:00:12 #299 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #300 [Verbose] >
00:00:12 #301 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #302 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #303 [Verbose] > │ ## calculateDiceCount │
00:00:12 #304 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #305 [Verbose] >
00:00:12 #306 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #307 [Verbose] > let inline calculateDiceCount log max =
00:00:12 #308 [Verbose] > let rec loop n p =
00:00:12 #309 [Verbose] > if p < max
00:00:12 #310 [Verbose] > then loop (n + 1) (p * 6)
00:00:12 #311 [Verbose] > else
00:00:12 #312 [Verbose] > log |> Option.iter ((|>) $"calculateDiceCount / max: {max} / n: {n}
00:00:12 #313 [Verbose] > / p: {p}")
00:00:12 #314 [Verbose] > n
00:00:12 #315 [Verbose] > if max = 1
00:00:12 #316 [Verbose] > then 1
00:00:12 #317 [Verbose] > else loop 0 1
00:00:12 #318 [Verbose] >
00:00:12 #319 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #320 [Verbose] > //// test
00:00:12 #321 [Verbose] >
00:00:12 #322 [Verbose] > calculateDiceCount (Some (printfn "%s")) 36
00:00:12 #323 [Verbose] > |> _equal 2
00:00:12 #324 [Verbose] >
00:00:12 #325 [Verbose] > ╭─[ 23.75ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #326 [Verbose] > │ calculateDiceCount / max: 36 / n: 2 / p: 36 │
00:00:12 #327 [Verbose] > │ 2 │
00:00:12 #328 [Verbose] > │ │
00:00:12 #329 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #330 [Verbose] >
00:00:12 #331 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #332 [Verbose] > //// test
00:00:12 #333 [Verbose] >
00:00:12 #334 [Verbose] > calculateDiceCount (Some (printfn "%s")) 7777
00:00:12 #335 [Verbose] > |> _equal 6
00:00:12 #336 [Verbose] >
00:00:12 #337 [Verbose] > ╭─[ 31.79ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #338 [Verbose] > │ calculateDiceCount / max: 7777 / n: 6 / p: 46656 │
00:00:12 #339 [Verbose] > │ 6 │
00:00:12 #340 [Verbose] > │ │
00:00:12 #341 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #342 [Verbose] >
00:00:12 #343 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #344 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #345 [Verbose] > │ ## rollDice │
00:00:12 #346 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #347 [Verbose] >
00:00:12 #348 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #349 [Verbose] > #if FABLE_COMPILER_RUST
00:00:12 #350 [Verbose] > let rollDice () : int =
00:00:12 #351 [Verbose] > #if !WASM
00:00:12 #352 [Verbose] > Fable.Core.RustInterop.emitRustExpr () "rand::Rng::gen_range(&mut
00:00:12 #353 [Verbose] > rand::thread_rng(), 1..7)"
00:00:12 #354 [Verbose] > #else
00:00:12 #355 [Verbose] > 1
00:00:12 #356 [Verbose] > #endif
00:00:12 #357 [Verbose] > #else
00:00:12 #358 [Verbose] > let private random = System.Random ()
00:00:12 #359 [Verbose] > let rollDice () =
00:00:12 #360 [Verbose] > random.Next (1, 7)
00:00:12 #361 [Verbose] > #endif
00:00:12 #362 [Verbose] >
00:00:12 #363 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #364 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #365 [Verbose] > │ ## rotateNumber │
00:00:12 #366 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #367 [Verbose] >
00:00:12 #368 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #369 [Verbose] > let rotateNumber max n =
00:00:12 #370 [Verbose] > (n - 1 + max) % max + 1
00:00:12 #371 [Verbose] >
00:00:12 #372 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #373 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #374 [Verbose] > │ ## rotateNumbers │
00:00:12 #375 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #376 [Verbose] >
00:00:12 #377 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #378 [Verbose] > let rotateNumbers max items =
00:00:12 #379 [Verbose] > items |> Seq.map (rotateNumber max)
00:00:12 #380 [Verbose] >
00:00:12 #381 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #382 [Verbose] > //// test
00:00:12 #383 [Verbose] >
00:00:12 #384 [Verbose] > [[ -1 .. 14 ]]
00:00:12 #385 [Verbose] > |> rotateNumbers 6
00:00:12 #386 [Verbose] > |> Seq.toList
00:00:12 #387 [Verbose] > |> _equal [[ 5; 6; 1; 2; 3; 4; 5; 6; 1; 2; 3; 4; 5; 6; 1; 2 ]]
00:00:12 #388 [Verbose] >
00:00:12 #389 [Verbose] > ╭─[ 40.51ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:12 #390 [Verbose] > │ [ 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2 ] │
00:00:12 #391 [Verbose] > │ │
00:00:12 #392 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #393 [Verbose] >
00:00:12 #394 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #395 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #396 [Verbose] > │ ## createSequentialRoller │
00:00:12 #397 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #398 [Verbose] >
00:00:12 #399 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #400 [Verbose] > let createSequentialRoller list =
00:00:12 #401 [Verbose] > let mutable currentIndex = 0
00:00:12 #402 [Verbose] > fun () ->
00:00:12 #403 [Verbose] > match list |> List.tryItem currentIndex with
00:00:12 #404 [Verbose] > | Some item ->
00:00:12 #405 [Verbose] > currentIndex <- currentIndex + 1
00:00:12 #406 [Verbose] > item
00:00:12 #407 [Verbose] > | None ->
00:00:12 #408 [Verbose] > failwith "createSequentialRoller / End of list"
00:00:12 #409 [Verbose] >
00:00:12 #410 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #411 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #412 [Verbose] > │ ## rollProgressively │
00:00:12 #413 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #414 [Verbose] >
00:00:12 #415 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #416 [Verbose] > let rollProgressively log roll reroll max =
00:00:12 #417 [Verbose] > let power = (calculateDiceCount log max) - 1
00:00:12 #418 [Verbose] > let rec loop rolls size =
00:00:12 #419 [Verbose] > if size < power + 1
00:00:12 #420 [Verbose] > then loop (roll () :: rolls) (size + 1)
00:00:12 #421 [Verbose] > else
00:00:12 #422 [Verbose] > match accumulateDiceRolls log rolls power 0 with
00:00:12 #423 [Verbose] > | Some (result, _) when result <= max -> result
00:00:12 #424 [Verbose] > | _ when reroll -> loop (List.init power (fun _ -> roll ())) power
00:00:12 #425 [Verbose] > | _ -> loop (roll () :: rolls) (size + 1)
00:00:12 #426 [Verbose] > loop [[]] 0
00:00:12 #427 [Verbose] >
00:00:12 #428 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #429 [Verbose] > //// test
00:00:12 #430 [Verbose] >
00:00:12 #431 [Verbose] > rollProgressively None rollDice false 1
00:00:12 #432 [Verbose] > |> _equal 1
00:00:13 #433 [Verbose] >
00:00:13 #434 [Verbose] > ╭─[ 22.01ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 #435 [Verbose] > │ 1 │
00:00:13 #436 [Verbose] > │ │
00:00:13 #437 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #438 [Verbose] >
00:00:13 #439 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #440 [Verbose] > //// test
00:00:13 #441 [Verbose] >
00:00:13 #442 [Verbose] > let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 1 ]]
00:00:13 #443 [Verbose] >
00:00:13 #444 [Verbose] > rollProgressively (Some (printfn "%s")) sequentialRoll false 2000
00:00:13 #445 [Verbose] > |> _equal 995
00:00:13 #446 [Verbose] >
00:00:13 #447 [Verbose] > ╭─[ 41.84ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 #448 [Verbose] > │ calculateDiceCount / max: 2000 / n: 5 / p: 7776 │
00:00:13 #449 [Verbose] > │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1 │
00:00:13 #450 [Verbose] > │ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864 │
00:00:13 #451 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108 │
00:00:13 #452 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18 │
00:00:13 #453 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4 │
00:00:13 #454 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 994 │
00:00:13 #455 [Verbose] > │ 995 │
00:00:13 #456 [Verbose] > │ │
00:00:13 #457 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #458 [Verbose] >
00:00:13 #459 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #460 [Verbose] > //// test
00:00:13 #461 [Verbose] >
00:00:13 #462 [Verbose] > let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 2 ]]
00:00:13 #463 [Verbose] >
00:00:13 #464 [Verbose] > fun () -> rollProgressively (Some (printfn "%s")) sequentialRoll false 2000 |>
00:00:13 #465 [Verbose] > ignore
00:00:13 #466 [Verbose] > |> _throwsC (fun ex _ ->
00:00:13 #467 [Verbose] > printException ex
00:00:13 #468 [Verbose] > |> _equal "System.Exception: createSequentialRoller / End of list"
00:00:13 #469 [Verbose] > )
00:00:13 #470 [Verbose] >
00:00:13 #471 [Verbose] > ╭─[ 54.25ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 #472 [Verbose] > │ FSI_0031+it@5-11 │
00:00:13 #473 [Verbose] > │ calculateDiceCount / max: 2000 / n: 5 / p: 7776 │
00:00:13 #474 [Verbose] > │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │
00:00:13 #475 [Verbose] > │ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 5 / value: 864 │
00:00:13 #476 [Verbose] > │ accumulateDiceRolls / power: 2 / acc: 2160 / roll: 4 / value: 108 │
00:00:13 #477 [Verbose] > │ accumulateDiceRolls / power: 1 / acc: 2268 / roll: 4 / value: 18 │
00:00:13 #478 [Verbose] > │ accumulateDiceRolls / power: 0 / acc: 2286 / roll: 5 / value: 4 │
00:00:13 #479 [Verbose] > │ accumulateDiceRolls / power: -1 / acc: 2290 │
00:00:13 #480 [Verbose] > │ System.Exception: createSequentialRoller / End of list │
00:00:13 #481 [Verbose] > │ │
00:00:13 #482 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #483 [Verbose] >
00:00:13 #484 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:13 #485 [Verbose] > //// ignore
00:00:13 #486 [Verbose] >
00:00:13 #487 [Verbose] > rollProgressively (Some (printfn "%s")) rollDice false 2000
00:00:13 #488 [Verbose] >
00:00:13 #489 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:13 #490 [Verbose] > //// ignore
00:00:13 #491 [Verbose] >
00:00:13 #492 [Verbose] > rollProgressively (Some (printfn "%s")) rollDice true 2000
00:00:13 #493 [Verbose] >
00:00:13 #494 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:13 #495 [Verbose] > //// ignore
00:00:13 #496 [Verbose] >
00:00:13 #497 [Verbose] > [[ 1 .. 1000 ]]
00:00:13 #498 [Verbose] > |> List.map (fun _ -> rollProgressively None rollDice false 10)
00:00:13 #499 [Verbose] > |> List.groupBy id
00:00:13 #500 [Verbose] > |> List.map (fun (k, v) -> k, v.Length)
00:00:13 #501 [Verbose] > |> List.sortBy fst
00:00:13 #502 [Verbose] >
00:00:13 #503 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:13 #504 [Verbose] > //// ignore
00:00:13 #505 [Verbose] >
00:00:13 #506 [Verbose] > [[ 1 .. 1000 ]]
00:00:13 #507 [Verbose] > |> List.map (fun _ -> rollProgressively None rollDice true 10)
00:00:13 #508 [Verbose] > |> List.groupBy id
00:00:13 #509 [Verbose] > |> List.map (fun (k, v) -> k, v.Length)
00:00:13 #510 [Verbose] > |> List.sortBy fst
00:00:13 #511 [Verbose] >
00:00:13 #512 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #513 [Verbose] > //// test
00:00:13 #514 [Verbose] >
00:00:13 #515 [Verbose] > [[ 1 .. 100 ]]
00:00:13 #516 [Verbose] > |> List.iter (fun n ->
00:00:13 #517 [Verbose] > [[ 0 .. 1 ]]
00:00:13 #518 [Verbose] > |> List.iter (fun reroll ->
00:00:13 #519 [Verbose] > [[ 1 .. 3500 ]]
00:00:13 #520 [Verbose] > |> List.map (fun _ -> rollProgressively None rollDice (reroll = 1) n)
00:00:13 #521 [Verbose] > |> List.groupBy id
00:00:13 #522 [Verbose] > |> List.length
00:00:13 #523 [Verbose] > |> __equal false n
00:00:13 #524 [Verbose] > )
00:00:13 #525 [Verbose] > )
00:00:21 #526 [Verbose] >
00:00:21 #527 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:21 #528 [Verbose] > //// ignore
00:00:21 #529 [Verbose] >
00:00:21 #530 [Verbose] > let run () =
00:00:21 #531 [Verbose] > let inline rollMax fn max n =
00:00:21 #532 [Verbose] > [[ 1 .. n ]]
00:00:21 #533 [Verbose] > |> List.map (fun _ -> fn max)
00:00:21 #534 [Verbose] > |> List.groupBy id
00:00:21 #535 [Verbose] > |> List.map (fun (_, v) -> v.Length)
00:00:21 #536 [Verbose] >
00:00:21 #537 [Verbose] > let max = 10
00:00:21 #538 [Verbose] > let n = 30
00:00:21 #539 [Verbose] > let even = (n / max) |> int
00:00:21 #540 [Verbose] >
00:00:21 #541 [Verbose] > let rec rollN current =
00:00:21 #542 [Verbose] > let roll = rollMax (rollProgressively None rollDice true) max n
00:00:21 #543 [Verbose] > if roll |> List.forall ((=) even)
00:00:21 #544 [Verbose] > then current
00:00:21 #545 [Verbose] > else rollN (current + 1)
00:00:21 #546 [Verbose] >
00:00:21 #547 [Verbose] > rollN 0
00:00:21 #548 [Verbose] >
00:00:21 #549 [Verbose] > // run ()
00:00:21 #550 [Verbose] >
00:00:21 #551 [Verbose] > ── fsharp - ignored ────────────────────────────────────────────────────────────
00:00:21 #552 [Verbose] > //// ignore
00:00:21 #553 [Verbose] >
00:00:21 #554 [Verbose] > // [[ 1 .. 100 ]]
00:00:21 #555 [Verbose] > // |> List.map (fun i ->
00:00:21 #556 [Verbose] > // let roll = rollN 0
00:00:21 #557 [Verbose] > // printfn $"i: {i} / roll: {roll}"
00:00:21 #558 [Verbose] > // roll
00:00:21 #559 [Verbose] > // )
00:00:21 #560 [Verbose] > // |> List.map float
00:00:21 #561 [Verbose] > // |> List.average
00:00:21 #562 [Verbose] >
00:00:21 #563 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:21 #564 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:21 #565 [Verbose] > │ ## main │
00:00:21 #566 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:21 #567 [Verbose] >
00:00:21 #568 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:21 #569 [Verbose] > let main args =
00:00:21 #570 [Verbose] > let result = rollProgressively (Some (printfn "%s")) rollDice true
00:00:21 #571 [Verbose] > (System.Int32.MaxValue / 10)
00:00:21 #572 [Verbose] > trace Debug (fun () -> $"main / result: {result}") getLocals
00:00:21 #573 [Verbose] > 0
00:00:23 #574 [Verbose] > [NbConvertApp] Converting notebook dice_fsharp.dib.ipynb to html
00:00:23 #575 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:23 #576 [Verbose] > validate(nb)
00:00:24 #577 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:24 #578 [Verbose] > return _pygments_highlight(
00:00:24 #579 [Verbose] > [NbConvertApp] Writing 324718 bytes to dice_fsharp.dib.html
00:00:25 #580 [Debug] executeAsync / exitCode: 0 / output.Length: 25063
00:00:25 #581 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: dice_fsharp.dib
00:00:00 #2 [Debug] parseDibCode / output: Fs / file: dice_fsharp.dib
00:00:00 #1 [Debug] persistCodeProject / packages: [Fable.Core] / modules: [lib/fsharp/Common.fs] / dir: C:\home\git\polyglot\apps\dice\fsharp / name: dice_fsharp / code.Length: 3337
00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj
00:00:00 #3 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj" --configuration Release --output ../dist --runtime linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\fsharp\target"
CancellationToken = None
OnLine = None }
00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:01 #5 [Verbose] > Determining projects to restore...
00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj (in 372 ms).
00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj]
00:00:05 #8 [Verbose] > dice_fsharp -> C:\home\git\polyglot\apps\dice\fsharp\target\bin\Release\net8.0\linux-x64\dice_fsharp.dll
00:00:06 #9 [Verbose] > dice_fsharp -> C:\home\git\polyglot\apps\dice\fsharp\dist\
00:00:06 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 657
00:00:06 #11 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj" --configuration Release --output ../dist --runtime win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\fsharp\target"
CancellationToken = None
OnLine = None }
00:00:06 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:07 #13 [Verbose] > Determining projects to restore...
00:00:08 #14 [Verbose] > Restored C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj (in 430 ms).
00:00:08 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\fsharp\target\dice_fsharp.fsproj]
00:00:11 #16 [Verbose] > dice_fsharp -> C:\home\git\polyglot\apps\dice\fsharp\target\bin\Release\net8.0\win-x64\dice_fsharp.dll
00:00:16 #17 [Verbose] > dice_fsharp -> C:\home\git\polyglot\apps\dice\fsharp\dist\
00:00:16 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 655
Fable 4.5.0: F# to Rust compiler (status: alpha)
Thanks to the contributor! @valery-vitko
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 228ms
Started Fable compilation...
Fable compilation finished in 2673ms
Fable 4.5.0: F# to TypeScript compiler
Minimum fable-library version (when installed from npm): 1.1.1
Thanks to the contributor! @valery-vitko
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 237ms
Started Fable compilation...
Fable compilation finished in 2652ms
Fable 4.5.0: F# to Python compiler (status: beta)
Thanks to the contributor! @MangelMaxime
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 250ms
Started Fable compilation...
Fable compilation finished in 2560ms
Fable 4.5.0: F# to PHP compiler (status: experimental)
Thanks to the contributor! @kant2002
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 240ms
Started Fable compilation...
Fable compilation finished in 2572ms
.\target\dice_fsharp.fs(18,37): (18,89) error FABLE: String templates are not supported
.\target\dice_fsharp.fs(24,37): (25,76) error FABLE: String templates are not supported
.\target\dice_fsharp.fs(29,37): (29,104) error FABLE: String templates are not supported
.\target\dice_fsharp.fs(47,41): (47,93) error FABLE: String templates are not supported
.\target\dice_fsharp.fs(109,31): (109,57) error FABLE: String templates are not supported
.\..\..\..\lib\fsharp\Common.fs(129,23): (129,35) error FABLE: String templates are not supported
Compilation failed
# Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock:
'dotnet fable target/dice_fsharp.fsproj --optimize --lang php --extension .php --outDir target/php'
Fable 4.5.0: F# to Dart compiler (status: beta)
Thanks to the contributor! @josselinauguste
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 227ms
Started Fable compilation...
Fable compilation finished in 2591ms
.\..\..\..\lib\fsharp\Common.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5
.\target\dice_fsharp.fs(1,1): error FABLE: Cannot find reference for System.Random
.\target\dice_fsharp.fs(1,1): error FABLE: Cannot find reference for System.IO.TextWriter
.\target\dice_fsharp.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5
Compilation failed
# Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock:
'dotnet fable target/dice_fsharp.fsproj --optimize --lang dart --extension .dart --outDir target/dart'
Fable 4.5.0: F# to Rust compiler (status: alpha)
Thanks to the contributor! @Titaye
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target\dice_fsharp.fsproj...
Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.
Project and references (2 source files) parsed in 230ms
Started Fable compilation...
Fable compilation finished in 2542ms
Compiling dice_fsharp v0.0.1 (C:\home\git\polyglot\apps\dice\fsharp)
Finished release [optimized] target(s) in 7.30s
Running `C:\home\git\polyglot\target\release\dice_fsharp.exe`
calculateDiceCount / max: 214748364 / n: 11 / p: 362797056
accumulateDiceRolls / power: 10 / acc: 0 / roll: 2 / value: 60466176
accumulateDiceRolls / power: 9 / acc: 60466176 / roll: 1
accumulateDiceRolls / power: 8 / acc: 60466176 / roll: 3 / value: 3359232
accumulateDiceRolls / power: 7 / acc: 63825408 / roll: 2 / value: 279936
accumulateDiceRolls / power: 6 / acc: 64105344 / roll: 6 / value: 233280
accumulateDiceRolls / power: 5 / acc: 64338624 / roll: 5 / value: 31104
accumulateDiceRolls / power: 4 / acc: 64369728 / roll: 4 / value: 3888
accumulateDiceRolls / power: 3 / acc: 64373616 / roll: 1
accumulateDiceRolls / power: 2 / acc: 64373616 / roll: 3 / value: 72
accumulateDiceRolls / power: 1 / acc: 64373688 / roll: 4 / value: 18
accumulateDiceRolls / power: 0 / acc: 64373706 / roll: 6 / value: 5
accumulateDiceRolls / power: -1 / acc: 64373711
01:29:14 #1 [Debug] main / result: 64373712
In [ ]:
{ . "$ScriptDir/../apps/spiral/temp/extension/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped Packages: +310 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Done in 2.2s [INFO]: 🎯 Checking for the Wasm target... [INFO]: 🌀 Compiling to Wasm... Finished dev [unoptimized + debuginfo] target(s) in 1.97s [INFO]: ⬇️ Installing wasm-bindgen... [INFO]: origin crate has no LICENSE [INFO]: ✨ Done in 3.23s [INFO]: 📦 Your wasm pkg is ready to publish at C:\home\git\polyglot\apps\spiral\temp\extension\pkg. ▲ [WARNING] "import.meta" is not available with the "iife" output format and will be empty [empty-import-meta] pkg/extension.js:1223:45: 1223 │ input = new URL('extension_bg.wasm', import.meta.url); ╵ ~~~~~~~~~~~ You need to set the output format to "esm" for "import.meta" to work correctly. 1 warning dist\extension_bg-LD6LB4DG.wasm 4.2mb ⚠️ dist\devtools.js 29.1kb dist\content_script.js 24.0kb dist\service_worker.js 2.2kb ⚡ Done in 45ms > polyglot@ test:e2e C:\home\git\polyglot\apps\spiral\temp\extension > playwright test INFO Accepting connections at http://localhost:3000 HTTP 11/8/2023 1:29:30 AM 127.0.0.1 GET / HTTP 11/8/2023 1:29:30 AM 127.0.0.1 Returned 200 in 23 ms Running 3 tests using 3 workers [1/3] [Desktop Chrome] › extension.spec.ts:3:5 › popup localhost [2/3] [Desktop Chrome] › extension.spec.ts:13:5 › libgen [3/3] [Desktop Chrome] › extension.spec.ts:8:5 › popup extension HTTP 11/8/2023 1:29:36 AM ::1 GET /popup HTTP 11/8/2023 1:29:36 AM ::1 Returned 200 in 37 ms HTTP 11/8/2023 1:29:36 AM ::1 GET /popup.js HTTP 11/8/2023 1:29:36 AM ::1 GET /content_script.js HTTP 11/8/2023 1:29:36 AM ::1 Returned 200 in 8 ms HTTP 11/8/2023 1:29:36 AM ::1 Returned 200 in 127 ms HTTP 11/8/2023 1:29:36 AM ::1 GET /extension_bg-LD6LB4DG.wasm HTTP 11/8/2023 1:29:36 AM ::1 Returned 200 in 105 ms HTTP 11/8/2023 1:29:37 AM ::1 GET /favicon.ico HTTP 11/8/2023 1:29:37 AM ::1 Returned 404 in 6 ms 3 passed (12.8s) To open last HTML report run: npx playwright show-report
In [ ]:
{ . "$ScriptDir/../apps/perf/build.ps1" } | Invoke-Block
00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 60
00:00:00 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@450-1020> }
00:00:00 #3 [Verbose] > pwd: C:\home\git\polyglot\apps\perf
00:00:00 #4 [Verbose] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
00:00:00 #5 [Debug] runWithTimeoutAsync / timeout: 500
00:00:00 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
00:00:01 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
00:00:01 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
00:00:01 #9 [Verbose] > Server bound to: http://localhost:13805
00:00:01 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 Perf.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
00:00:03 #11 [Verbose] >
00:00:03 #12 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 #13 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 #14 [Verbose] > │ ## Perf (Polyglot) │
00:00:03 #15 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:04 #16 [Verbose] >
00:00:04 #17 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:04 #18 [Verbose] > // // test
00:00:04 #19 [Verbose] >
00:00:04 #20 [Verbose] > open testing
00:00:04 #21 [Verbose] > open benchmark
00:00:07 #22 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0129-5044-4463-4db47309e86f\main.spi
00:00:09 #23 [Verbose] >
00:00:09 #24 [Verbose] > ╭─[ 5.61s - stdout ]───────────────────────────────────────────────────────────╮
00:00:09 #25 [Verbose] > │ () │
00:00:09 #26 [Verbose] > │ │
00:00:09 #27 [Verbose] > │ │
00:00:09 #28 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #29 [Verbose] >
00:00:09 #30 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 #31 [Verbose] > inl (/@) x = listm'.(/@) x
00:00:09 #32 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0129-5366-6668-684b2df94df3\main.spi
00:00:09 #33 [Verbose] >
00:00:09 #34 [Verbose] > ╭─[ 201.17ms - stdout ]────────────────────────────────────────────────────────╮
00:00:09 #35 [Verbose] > │ () │
00:00:09 #36 [Verbose] > │ │
00:00:09 #37 [Verbose] > │ │
00:00:09 #38 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #39 [Verbose] >
00:00:09 #40 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 #41 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 #42 [Verbose] > │ ## TestCaseResult │
00:00:09 #43 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 #44 [Verbose] >
00:00:09 #45 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:09 #46 [Verbose] > type TestCaseResult =
00:00:09 #47 [Verbose] > {
00:00:09 #48 [Verbose] > Input: string
00:00:09 #49 [Verbose] > Expected: string
00:00:09 #50 [Verbose] > Result: string
00:00:09 #51 [Verbose] > TimeList: int64 list
00:00:09 #52 [Verbose] > }
00:00:09 #53 [Verbose] >
00:00:09 #54 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:09 #55 [Verbose] > #r
00:00:09 #56 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
00:00:09 #57 [Verbose] > spNetCore.Html.Abstractions.dll"
00:00:09 #58 [Verbose] > #r
00:00:09 #59 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:09 #60 [Verbose] > otNet.Interactive.dll"
00:00:09 #61 [Verbose] > #r
00:00:09 #62 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:09 #63 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:09 #64 [Verbose] > #r
00:00:09 #65 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:09 #66 [Verbose] > otNet.Interactive.Formatting.dll"
00:00:09 #67 [Verbose] > open System
00:00:09 #68 [Verbose] > open System.IO
00:00:09 #69 [Verbose] > open System.Text
00:00:09 #70 [Verbose] > open Microsoft.DotNet.Interactive.Formatting
00:00:11 #71 [Verbose] >
00:00:11 #72 [Verbose] > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:11 #73 [Verbose] > #r
00:00:11 #74 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:11 #75 [Verbose] > otNet.Interactive.FSharp.dll"
00:00:11 #76 [Verbose] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:11 #77 [Verbose] > #r
00:00:11 #78 [Verbose] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
00:00:11 #79 [Verbose] > otNet.Interactive.dll"
00:00:11 #80 [Verbose] > open type Microsoft.DotNet.Interactive.Kernel
00:00:12 #81 [Verbose] >
00:00:12 #82 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #83 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #84 [Verbose] > │ ## run │
00:00:12 #85 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #86 [Verbose] >
00:00:12 #87 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #88 [Verbose] > let run count (solutions: (string * ('TInput -> 'TExpected)) list) (input,
00:00:12 #89 [Verbose] > expected) =
00:00:12 #90 [Verbose] > let inputStr =
00:00:12 #91 [Verbose] > match box input with
00:00:12 #92 [Verbose] > | :? System.Collections.ICollection as input ->
00:00:12 #93 [Verbose] > System.Linq.Enumerable.Cast<obj> input
00:00:12 #94 [Verbose] > |> Seq.map string
00:00:12 #95 [Verbose] > |> String.concat ","
00:00:12 #96 [Verbose] > | _ -> input.ToString ()
00:00:12 #97 [Verbose] >
00:00:12 #98 [Verbose] > printfn ""
00:00:12 #99 [Verbose] > printfn $"Solution: {inputStr} "
00:00:12 #100 [Verbose] >
00:00:12 #101 [Verbose] > let performanceInvoke (fn: unit -> 'T) =
00:00:12 #102 [Verbose] > GC.Collect ()
00:00:12 #103 [Verbose] > let stopwatch = System.Diagnostics.Stopwatch ()
00:00:12 #104 [Verbose] > stopwatch.Start ()
00:00:12 #105 [Verbose] > let time1 = stopwatch.ElapsedMilliseconds
00:00:12 #106 [Verbose] >
00:00:12 #107 [Verbose] > let result =
00:00:12 #108 [Verbose] > [[| 0 .. count |]]
00:00:12 #109 [Verbose] > |> Array.Parallel.map (fun _ ->
00:00:12 #110 [Verbose] > fn ()
00:00:12 #111 [Verbose] > )
00:00:12 #112 [Verbose] > |> Array.last
00:00:12 #113 [Verbose] >
00:00:12 #114 [Verbose] > let time2 = stopwatch.ElapsedMilliseconds - time1
00:00:12 #115 [Verbose] >
00:00:12 #116 [Verbose] > result, time2
00:00:12 #117 [Verbose] >
00:00:12 #118 [Verbose] > let resultsWithTime =
00:00:12 #119 [Verbose] > solutions
00:00:12 #120 [Verbose] > |> List.mapi (fun i (testName, solution) ->
00:00:12 #121 [Verbose] > let result, time = performanceInvoke (fun () -> solution input)
00:00:12 #122 [Verbose] > printfn $"Test case %d{i + 1}. %s{testName}. Time: %A{time} "
00:00:12 #123 [Verbose] > result, time
00:00:12 #124 [Verbose] > )
00:00:12 #125 [Verbose] >
00:00:12 #126 [Verbose] >
00:00:12 #127 [Verbose] > match resultsWithTime |> List.map fst with
00:00:12 #128 [Verbose] > | ([[]] | [[ _ ]]) -> ()
00:00:12 #129 [Verbose] > | (head :: tail) when tail |> List.forall ((=) head) -> ()
00:00:12 #130 [Verbose] > | results -> failwithf $"Challenge error: %A{results}"
00:00:12 #131 [Verbose] >
00:00:12 #132 [Verbose] > {
00:00:12 #133 [Verbose] > Input = inputStr
00:00:12 #134 [Verbose] > Expected = expected.ToString ()
00:00:12 #135 [Verbose] > Result = resultsWithTime |> Seq.map fst |> Seq.head |> fun x ->
00:00:12 #136 [Verbose] > x.ToString ()
00:00:12 #137 [Verbose] > TimeList = resultsWithTime |> List.map snd
00:00:12 #138 [Verbose] > }
00:00:12 #139 [Verbose] >
00:00:12 #140 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #141 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #142 [Verbose] > │ ## runAll │
00:00:12 #143 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #144 [Verbose] >
00:00:12 #145 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #146 [Verbose] > let runAll testName count (solutions: (string * ('TInput -> 'TExpected)) list)
00:00:12 #147 [Verbose] > testCases =
00:00:12 #148 [Verbose] > printfn ""
00:00:12 #149 [Verbose] > printfn ""
00:00:12 #150 [Verbose] > printfn $"Test: {testName}"
00:00:12 #151 [Verbose] > testCases
00:00:12 #152 [Verbose] > |> Seq.map (run count solutions)
00:00:12 #153 [Verbose] > |> Seq.toList
00:00:12 #154 [Verbose] >
00:00:12 #155 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 #156 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 #157 [Verbose] > │ ## sortResultList │
00:00:12 #158 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 #159 [Verbose] >
00:00:12 #160 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 #161 [Verbose] > let sortResultList resultList =
00:00:12 #162 [Verbose] > let table =
00:00:12 #163 [Verbose] > let rows =
00:00:12 #164 [Verbose] > resultList
00:00:12 #165 [Verbose] > |> List.map (fun result ->
00:00:12 #166 [Verbose] > let best =
00:00:12 #167 [Verbose] > result.TimeList
00:00:12 #168 [Verbose] > |> List.mapi (fun i time ->
00:00:12 #169 [Verbose] > i + 1, time
00:00:12 #170 [Verbose] > )
00:00:12 #171 [Verbose] > |> List.sortBy snd
00:00:12 #172 [Verbose] > |> List.head
00:00:12 #173 [Verbose] > |> fun x -> x.ToString ()
00:00:12 #174 [Verbose] > let row =
00:00:12 #175 [Verbose] > [[
00:00:12 #176 [Verbose] > result.Input
00:00:12 #177 [Verbose] > result.Expected
00:00:12 #178 [Verbose] > result.Result
00:00:12 #179 [Verbose] > best
00:00:12 #180 [Verbose] > ]]
00:00:12 #181 [Verbose] > let color =
00:00:12 #182 [Verbose] > match result.Expected = result.Result with
00:00:12 #183 [Verbose] > | true -> Some ConsoleColor.DarkGreen
00:00:12 #184 [Verbose] > | false -> Some ConsoleColor.DarkRed
00:00:12 #185 [Verbose] > row, color
00:00:12 #186 [Verbose] > )
00:00:12 #187 [Verbose] > let header =
00:00:12 #188 [Verbose] > [[
00:00:12 #189 [Verbose] > [[
00:00:12 #190 [Verbose] > "Input"
00:00:12 #191 [Verbose] > "Expected"
00:00:12 #192 [Verbose] > "Result"
00:00:12 #193 [Verbose] > "Best"
00:00:12 #194 [Verbose] > ]]
00:00:12 #195 [Verbose] > [[
00:00:12 #196 [Verbose] > "---"
00:00:12 #197 [Verbose] > "---"
00:00:12 #198 [Verbose] > "---"
00:00:12 #199 [Verbose] > "---"
00:00:12 #200 [Verbose] > ]]
00:00:12 #201 [Verbose] > ]]
00:00:12 #202 [Verbose] > |> List.map (fun row -> row, None)
00:00:12 #203 [Verbose] > header @ rows
00:00:12 #204 [Verbose] >
00:00:12 #205 [Verbose] > let formattedTable =
00:00:12 #206 [Verbose] > let lengthMap =
00:00:12 #207 [Verbose] > table
00:00:12 #208 [Verbose] > |> List.map fst
00:00:12 #209 [Verbose] > |> List.transpose
00:00:12 #210 [Verbose] > |> List.map (fun column ->
00:00:12 #211 [Verbose] > column
00:00:12 #212 [Verbose] > |> List.map String.length
00:00:12 #213 [Verbose] > |> List.sortDescending
00:00:12 #214 [Verbose] > |> List.tryHead
00:00:12 #215 [Verbose] > |> Option.defaultValue 0
00:00:12 #216 [Verbose] > )
00:00:12 #217 [Verbose] > |> List.indexed
00:00:12 #218 [Verbose] > |> Map.ofList
00:00:12 #219 [Verbose] > table
00:00:12 #220 [Verbose] > |> List.map (fun (row, color) ->
00:00:12 #221 [Verbose] > let newRow =
00:00:12 #222 [Verbose] > row
00:00:12 #223 [Verbose] > |> List.mapi (fun i cell ->
00:00:12 #224 [Verbose] > cell.PadRight lengthMap.[[i]]
00:00:12 #225 [Verbose] > )
00:00:12 #226 [Verbose] > newRow, color
00:00:12 #227 [Verbose] > )
00:00:12 #228 [Verbose] >
00:00:12 #229 [Verbose] > printfn ""
00:00:12 #230 [Verbose] > formattedTable
00:00:12 #231 [Verbose] > |> List.iter (fun (row, color) ->
00:00:12 #232 [Verbose] > match color with
00:00:12 #233 [Verbose] > | Some color -> Console.ForegroundColor <- color
00:00:12 #234 [Verbose] > | None -> Console.ResetColor ()
00:00:12 #235 [Verbose] >
00:00:12 #236 [Verbose] > printfn "%s" (String.Join ("\t| ", row))
00:00:12 #237 [Verbose] >
00:00:12 #238 [Verbose] > Console.ResetColor ()
00:00:12 #239 [Verbose] > )
00:00:12 #240 [Verbose] >
00:00:12 #241 [Verbose] > let averages =
00:00:12 #242 [Verbose] > resultList
00:00:12 #243 [Verbose] > |> List.map (fun result -> result.TimeList |> List.map float)
00:00:12 #244 [Verbose] > |> List.transpose
00:00:12 #245 [Verbose] > |> List.map List.average
00:00:12 #246 [Verbose] > |> List.map int64
00:00:12 #247 [Verbose] > |> List.indexed
00:00:12 #248 [Verbose] >
00:00:12 #249 [Verbose] > printfn ""
00:00:12 #250 [Verbose] > printfn "Average Ranking "
00:00:12 #251 [Verbose] > averages
00:00:12 #252 [Verbose] > |> List.sortBy snd
00:00:12 #253 [Verbose] > |> List.iter (fun (i, avg) ->
00:00:12 #254 [Verbose] > printfn $"Test case %d{i + 1}. Average Time: %A{avg} "
00:00:12 #255 [Verbose] > )
00:00:13 #256 [Verbose] >
00:00:13 #257 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #258 [Verbose] > let mutable _count =
00:00:13 #259 [Verbose] > if ("CI" |> System.Environment.GetEnvironmentVariable |> fun x -> $"%A{x}")
00:00:13 #260 [Verbose] > <> "<null>"
00:00:13 #261 [Verbose] > then 2000000
00:00:13 #262 [Verbose] > else 2000
00:00:13 #263 [Verbose] >
00:00:13 #264 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 #265 [Verbose] > inl is_fast () =
00:00:13 #266 [Verbose] > false
00:00:13 #267 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0129-5722-2289-2dd120774852\main.spi
00:00:13 #268 [Verbose] >
00:00:13 #269 [Verbose] > ╭─[ 227.24ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #270 [Verbose] > │ () │
00:00:13 #271 [Verbose] > │ │
00:00:13 #272 [Verbose] > │ │
00:00:13 #273 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #274 [Verbose] >
00:00:13 #275 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #276 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #277 [Verbose] > │ ## empty3Tests │
00:00:13 #278 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #279 [Verbose] >
00:00:13 #280 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #281 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #282 [Verbose] > │ Test: Empty3 │
00:00:13 #283 [Verbose] > │ │
00:00:13 #284 [Verbose] > │ Solution: (a, a) │
00:00:13 #285 [Verbose] > │ Test case 1. A. Time: 91L │
00:00:13 #286 [Verbose] > │ │
00:00:13 #287 [Verbose] > │ Solution: (a, a) │
00:00:13 #288 [Verbose] > │ Test case 1. A. Time: 56L │
00:00:13 #289 [Verbose] > │ │
00:00:13 #290 [Verbose] > │ Input | Expected | Result | Best │
00:00:13 #291 [Verbose] > │ --- | --- | --- | --- │
00:00:13 #292 [Verbose] > │ (a, a) | a | a | (1, 91) │
00:00:13 #293 [Verbose] > │ (a, a) | a | a | (1, 56) │
00:00:13 #294 [Verbose] > │ │
00:00:13 #295 [Verbose] > │ Averages │
00:00:13 #296 [Verbose] > │ Test case 1. Average Time: 73L │
00:00:13 #297 [Verbose] > │ │
00:00:13 #298 [Verbose] > │ Ranking │
00:00:13 #299 [Verbose] > │ Test case 1. Average Time: 73L │
00:00:13 #300 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #301 [Verbose] >
00:00:13 #302 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #303 [Verbose] > //// test
00:00:13 #304 [Verbose] >
00:00:13 #305 [Verbose] > let solutions = [[
00:00:13 #306 [Verbose] > "A",
00:00:13 #307 [Verbose] > fun (a, _b) ->
00:00:13 #308 [Verbose] > a
00:00:13 #309 [Verbose] > ]]
00:00:13 #310 [Verbose] > let testCases = seq {
00:00:13 #311 [Verbose] > ("a", "a"), "a"
00:00:13 #312 [Verbose] > ("a", "a"), "a"
00:00:13 #313 [Verbose] > }
00:00:13 #314 [Verbose] > let rec empty3Tests = runAll (nameof empty3Tests) _count solutions testCases
00:00:13 #315 [Verbose] > empty3Tests
00:00:13 #316 [Verbose] > |> sortResultList
00:00:13 #317 [Verbose] >
00:00:13 #318 [Verbose] > ╭─[ 359.08ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 #319 [Verbose] > │ │
00:00:13 #320 [Verbose] > │ │
00:00:13 #321 [Verbose] > │ Test: empty3Tests │
00:00:13 #322 [Verbose] > │ │
00:00:13 #323 [Verbose] > │ Solution: (a, a) │
00:00:13 #324 [Verbose] > │ Test case 1. A. Time: 1L │
00:00:13 #325 [Verbose] > │ │
00:00:13 #326 [Verbose] > │ Solution: (a, a) │
00:00:13 #327 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:13 #328 [Verbose] > │ │
00:00:13 #329 [Verbose] > │ Input | Expected | Result | Best │
00:00:13 #330 [Verbose] > │ --- | --- | --- | --- │
00:00:13 #331 [Verbose] > │ (a, a) | a | a | (1, 1) │
00:00:13 #332 [Verbose] > │ (a, a) | a | a | (1, 0) │
00:00:13 #333 [Verbose] > │ │
00:00:13 #334 [Verbose] > │ Average Ranking │
00:00:13 #335 [Verbose] > │ Test case 1. Average Time: 0L │
00:00:13 #336 [Verbose] > │ │
00:00:13 #337 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #338 [Verbose] >
00:00:13 #339 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #340 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #341 [Verbose] > │ ## empty2Tests │
00:00:13 #342 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #343 [Verbose] >
00:00:13 #344 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 #345 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 #346 [Verbose] > │ Test: Empty2 │
00:00:13 #347 [Verbose] > │ │
00:00:13 #348 [Verbose] > │ Solution: (a, a) │
00:00:13 #349 [Verbose] > │ Test case 1. A. Time: 59L │
00:00:13 #350 [Verbose] > │ │
00:00:13 #351 [Verbose] > │ Solution: (a, a) │
00:00:13 #352 [Verbose] > │ Test case 1. A. Time: 53L │
00:00:13 #353 [Verbose] > │ │
00:00:13 #354 [Verbose] > │ Input | Expected | Result | Best │
00:00:13 #355 [Verbose] > │ --- | --- | --- | --- │
00:00:13 #356 [Verbose] > │ (a, a) | a | a | (1, 59) │
00:00:13 #357 [Verbose] > │ (a, a) | a | a | (1, 53) │
00:00:13 #358 [Verbose] > │ │
00:00:13 #359 [Verbose] > │ Averages │
00:00:13 #360 [Verbose] > │ Test case 1. Average Time: 56L │
00:00:13 #361 [Verbose] > │ │
00:00:13 #362 [Verbose] > │ Ranking │
00:00:13 #363 [Verbose] > │ Test case 1. Average Time: 56L │
00:00:13 #364 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 #365 [Verbose] >
00:00:13 #366 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 #367 [Verbose] > //// test
00:00:13 #368 [Verbose] >
00:00:13 #369 [Verbose] > let solutions = [[
00:00:13 #370 [Verbose] > "A",
00:00:13 #371 [Verbose] > fun (a, _b) ->
00:00:13 #372 [Verbose] > a
00:00:13 #373 [Verbose] > ]]
00:00:13 #374 [Verbose] > let testCases = seq {
00:00:13 #375 [Verbose] > ("a", "a"), "a"
00:00:13 #376 [Verbose] > ("a", "a"), "a"
00:00:13 #377 [Verbose] > }
00:00:13 #378 [Verbose] > let rec empty2Tests = runAll (nameof empty2Tests) _count solutions testCases
00:00:13 #379 [Verbose] > empty2Tests
00:00:13 #380 [Verbose] > |> sortResultList
00:00:14 #381 [Verbose] >
00:00:14 #382 [Verbose] > ╭─[ 289.05ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #383 [Verbose] > │ │
00:00:14 #384 [Verbose] > │ │
00:00:14 #385 [Verbose] > │ Test: empty2Tests │
00:00:14 #386 [Verbose] > │ │
00:00:14 #387 [Verbose] > │ Solution: (a, a) │
00:00:14 #388 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:14 #389 [Verbose] > │ │
00:00:14 #390 [Verbose] > │ Solution: (a, a) │
00:00:14 #391 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:14 #392 [Verbose] > │ │
00:00:14 #393 [Verbose] > │ Input | Expected | Result | Best │
00:00:14 #394 [Verbose] > │ --- | --- | --- | --- │
00:00:14 #395 [Verbose] > │ (a, a) | a | a | (1, 0) │
00:00:14 #396 [Verbose] > │ (a, a) | a | a | (1, 0) │
00:00:14 #397 [Verbose] > │ │
00:00:14 #398 [Verbose] > │ Average Ranking │
00:00:14 #399 [Verbose] > │ Test case 1. Average Time: 0L │
00:00:14 #400 [Verbose] > │ │
00:00:14 #401 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #402 [Verbose] >
00:00:14 #403 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #404 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #405 [Verbose] > │ ## emptyTests │
00:00:14 #406 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #407 [Verbose] >
00:00:14 #408 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #409 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #410 [Verbose] > │ Test: Empty │
00:00:14 #411 [Verbose] > │ │
00:00:14 #412 [Verbose] > │ Solution: 0 │
00:00:14 #413 [Verbose] > │ Test case 1. A. Time: 61L │
00:00:14 #414 [Verbose] > │ │
00:00:14 #415 [Verbose] > │ Solution: 2 │
00:00:14 #416 [Verbose] > │ Test case 1. A. Time: 62L │
00:00:14 #417 [Verbose] > │ │
00:00:14 #418 [Verbose] > │ Solution: 5 │
00:00:14 #419 [Verbose] > │ Test case 1. A. Time: 70L │
00:00:14 #420 [Verbose] > │ │
00:00:14 #421 [Verbose] > │ Input | Expected | Result | Best │
00:00:14 #422 [Verbose] > │ --- | --- | --- | --- │
00:00:14 #423 [Verbose] > │ 0 | 0 | 0 | (1, 61) │
00:00:14 #424 [Verbose] > │ 2 | 2 | 2 | (1, 62) │
00:00:14 #425 [Verbose] > │ 5 | 5 | 5 | (1, 70) │
00:00:14 #426 [Verbose] > │ │
00:00:14 #427 [Verbose] > │ Averages │
00:00:14 #428 [Verbose] > │ Test case 1. Average Time: 64L │
00:00:14 #429 [Verbose] > │ │
00:00:14 #430 [Verbose] > │ Ranking │
00:00:14 #431 [Verbose] > │ Test case 1. Average Time: 64L │
00:00:14 #432 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #433 [Verbose] >
00:00:14 #434 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 #435 [Verbose] > //// test
00:00:14 #436 [Verbose] >
00:00:14 #437 [Verbose] > let solutions = [[
00:00:14 #438 [Verbose] > "A",
00:00:14 #439 [Verbose] > fun n ->
00:00:14 #440 [Verbose] > n + 0
00:00:14 #441 [Verbose] > ]]
00:00:14 #442 [Verbose] > let testCases = seq {
00:00:14 #443 [Verbose] > 0, 0
00:00:14 #444 [Verbose] > 2, 2
00:00:14 #445 [Verbose] > 5, 5
00:00:14 #446 [Verbose] > }
00:00:14 #447 [Verbose] > let rec emptyTests = runAll (nameof emptyTests) _count solutions testCases
00:00:14 #448 [Verbose] > emptyTests
00:00:14 #449 [Verbose] > |> sortResultList
00:00:14 #450 [Verbose] >
00:00:14 #451 [Verbose] > ╭─[ 384.93ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 #452 [Verbose] > │ │
00:00:14 #453 [Verbose] > │ │
00:00:14 #454 [Verbose] > │ Test: emptyTests │
00:00:14 #455 [Verbose] > │ │
00:00:14 #456 [Verbose] > │ Solution: 0 │
00:00:14 #457 [Verbose] > │ Test case 1. A. Time: 3L │
00:00:14 #458 [Verbose] > │ │
00:00:14 #459 [Verbose] > │ Solution: 2 │
00:00:14 #460 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:14 #461 [Verbose] > │ │
00:00:14 #462 [Verbose] > │ Solution: 5 │
00:00:14 #463 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:14 #464 [Verbose] > │ │
00:00:14 #465 [Verbose] > │ Input | Expected | Result | Best │
00:00:14 #466 [Verbose] > │ --- | --- | --- | --- │
00:00:14 #467 [Verbose] > │ 0 | 0 | 0 | (1, 3) │
00:00:14 #468 [Verbose] > │ 2 | 2 | 2 | (1, 0) │
00:00:14 #469 [Verbose] > │ 5 | 5 | 5 | (1, 0) │
00:00:14 #470 [Verbose] > │ │
00:00:14 #471 [Verbose] > │ Average Ranking │
00:00:14 #472 [Verbose] > │ Test case 1. Average Time: 1L │
00:00:14 #473 [Verbose] > │ │
00:00:14 #474 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #475 [Verbose] >
00:00:14 #476 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #477 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #478 [Verbose] > │ ## uniqueLettersTests │
00:00:14 #479 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #480 [Verbose] >
00:00:14 #481 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 #482 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 #483 [Verbose] > │ Test: UniqueLetters │
00:00:14 #484 [Verbose] > │ │
00:00:14 #485 [Verbose] > │ Solution: abc │
00:00:14 #486 [Verbose] > │ Test case 1. A. Time: 1512L │
00:00:14 #487 [Verbose] > │ Test case 2. B. Time: 1947L │
00:00:14 #488 [Verbose] > │ Test case 3. C. Time: 2023L │
00:00:14 #489 [Verbose] > │ Test case 4. D. Time: 1358L │
00:00:14 #490 [Verbose] > │ Test case 5. E. Time: 1321L │
00:00:14 #491 [Verbose] > │ Test case 6. F. Time: 1346L │
00:00:14 #492 [Verbose] > │ Test case 7. G. Time: 1304L │
00:00:14 #493 [Verbose] > │ Test case 8. H. Time: 1383L │
00:00:14 #494 [Verbose] > │ Test case 9. I. Time: 1495L │
00:00:14 #495 [Verbose] > │ Test case 10. J. Time: 1245L │
00:00:14 #496 [Verbose] > │ Test case 11. K. Time: 1219L │
00:00:14 #497 [Verbose] > │ │
00:00:14 #498 [Verbose] > │ Solution: accabb │
00:00:14 #499 [Verbose] > │ Test case 1. A. Time: 1648L │
00:00:14 #500 [Verbose] > │ Test case 2. B. Time: 2061L │
00:00:14 #501 [Verbose] > │ Test case 3. C. Time: 2413L │
00:00:14 #502 [Verbose] > │ Test case 4. D. Time: 1561L │
00:00:14 #503 [Verbose] > │ Test case 5. E. Time: 1593L │
00:00:14 #504 [Verbose] > │ Test case 6. F. Time: 1518L │
00:00:14 #505 [Verbose] > │ Test case 7. G. Time: 1415L │
00:00:14 #506 [Verbose] > │ Test case 8. H. Time: 1510L │
00:00:14 #507 [Verbose] > │ Test case 9. I. Time: 1445L │
00:00:14 #508 [Verbose] > │ Test case 10. J. Time: 1636L │
00:00:14 #509 [Verbose] > │ Test case 11. K. Time: 1317L │
00:00:14 #510 [Verbose] > │ │
00:00:14 #511 [Verbose] > │ Solution: pprrqqpp │
00:00:14 #512 [Verbose] > │ Test case 1. A. Time: 2255L │
00:00:14 #513 [Verbose] > │ Test case 2. B. Time: 2408L │
00:00:14 #514 [Verbose] > │ Test case 3. C. Time: 2393L │
00:00:14 #515 [Verbose] > │ Test case 4. D. Time: 1675L │
00:00:14 #516 [Verbose] > │ Test case 5. E. Time: 1911L │
00:00:14 #517 [Verbose] > │ Test case 6. F. Time: 2126L │
00:00:14 #518 [Verbose] > │ Test case 7. G. Time: 1504L │
00:00:14 #519 [Verbose] > │ Test case 8. H. Time: 1715L │
00:00:14 #520 [Verbose] > │ Test case 9. I. Time: 1537L │
00:00:14 #521 [Verbose] > │ Test case 10. J. Time: 1522L │
00:00:14 #522 [Verbose] > │ Test case 11. K. Time: 1322L │
00:00:14 #523 [Verbose] > │ │
00:00:14 #524 [Verbose] > │ Solution: │
00:00:14 #525 [Verbose] > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:14 #526 [Verbose] > │ bbb │
00:00:14 #527 [Verbose] > │ Test case 1. A. Time: 13073L │
00:00:14 #528 [Verbose] > │ Test case 2. B. Time: 11519L │
00:00:14 #529 [Verbose] > │ Test case 3. C. Time: 8373L │
00:00:14 #530 [Verbose] > │ Test case 4. D. Time: 5860L │
00:00:14 #531 [Verbose] > │ Test case 5. E. Time: 6490L │
00:00:14 #532 [Verbose] > │ Test case 6. F. Time: 6325L │
00:00:14 #533 [Verbose] > │ Test case 7. G. Time: 5799L │
00:00:14 #534 [Verbose] > │ Test case 8. H. Time: 7099L │
00:00:14 #535 [Verbose] > │ Test case 9. I. Time: 6133L │
00:00:14 #536 [Verbose] > │ Test case 10. J. Time: 5993L │
00:00:14 #537 [Verbose] > │ Test case 11. K. Time: 2040L │
00:00:14 #538 [Verbose] > │ │
00:00:14 #539 [Verbose] > │ Input │
00:00:14 #540 [Verbose] > │ | Expected | Result | Best │
00:00:14 #541 [Verbose] > │ --- │
00:00:14 #542 [Verbose] > │ │
00:00:14 #543 [Verbose] > │ | --- | --- | --- │
00:00:14 #544 [Verbose] > │ abc │
00:00:14 #545 [Verbose] > │ │
00:00:14 #546 [Verbose] > │ | abc | abc | (11, 1219) │
00:00:14 #547 [Verbose] > │ accabb │
00:00:14 #548 [Verbose] > │ | acb | acb | (11, 1317) │
00:00:14 #549 [Verbose] > │ pprrqqpp │
00:00:14 #550 [Verbose] > │ | prq | prq | (11, 1322) │
00:00:14 #551 [Verbose] > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:14 #552 [Verbose] > │ bbb | acb | acb | (11, 2040) │
00:00:14 #553 [Verbose] > │ │
00:00:14 #554 [Verbose] > │ Averages │
00:00:14 #555 [Verbose] > │ Test case 1. Average Time: 4622L │
00:00:14 #556 [Verbose] > │ Test case 2. Average Time: 4483L │
00:00:14 #557 [Verbose] > │ Test case 3. Average Time: 3800L │
00:00:14 #558 [Verbose] > │ Test case 4. Average Time: 2613L │
00:00:14 #559 [Verbose] > │ Test case 5. Average Time: 2828L │
00:00:14 #560 [Verbose] > │ Test case 6. Average Time: 2828L │
00:00:14 #561 [Verbose] > │ Test case 7. Average Time: 2505L │
00:00:14 #562 [Verbose] > │ Test case 8. Average Time: 2926L │
00:00:14 #563 [Verbose] > │ Test case 9. Average Time: 2652L │
00:00:14 #564 [Verbose] > │ Test case 10. Average Time: 2599L │
00:00:14 #565 [Verbose] > │ Test case 11. Average Time: 1474L │
00:00:14 #566 [Verbose] > │ │
00:00:14 #567 [Verbose] > │ Ranking │
00:00:14 #568 [Verbose] > │ Test case 1. Average Time: 4622L │
00:00:14 #569 [Verbose] > │ Test case 2. Average Time: 4483L │
00:00:14 #570 [Verbose] > │ Test case 3. Average Time: 3800L │
00:00:14 #571 [Verbose] > │ Test case 8. Average Time: 2926L │
00:00:14 #572 [Verbose] > │ Test case 5. Average Time: 2828L │
00:00:14 #573 [Verbose] > │ Test case 6. Average Time: 2828L │
00:00:14 #574 [Verbose] > │ Test case 9. Average Time: 2652L │
00:00:14 #575 [Verbose] > │ Test case 4. Average Time: 2613L │
00:00:14 #576 [Verbose] > │ Test case 10. Average Time: 2599L │
00:00:14 #577 [Verbose] > │ Test case 7. Average Time: 2505L │
00:00:14 #578 [Verbose] > │ Test case 11. Average Time: 1474L │
00:00:14 #579 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 #580 [Verbose] >
00:00:14 #581 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 #582 [Verbose] > //// test
00:00:14 #583 [Verbose] >
00:00:14 #584 [Verbose] > let solutions = [[
00:00:14 #585 [Verbose] > "A",
00:00:14 #586 [Verbose] > fun input ->
00:00:14 #587 [Verbose] > input
00:00:14 #588 [Verbose] > |> Seq.toList
00:00:14 #589 [Verbose] > |> List.fold (fun acc x -> if List.contains x acc then acc else acc @ [[
00:00:14 #590 [Verbose] > x ]]) [[]]
00:00:14 #591 [Verbose] > |> Seq.toArray
00:00:14 #592 [Verbose] > |> String
00:00:14 #593 [Verbose] >
00:00:14 #594 [Verbose] > "B",
00:00:14 #595 [Verbose] > fun input ->
00:00:14 #596 [Verbose] > input
00:00:14 #597 [Verbose] > |> Seq.rev
00:00:14 #598 [Verbose] > |> fun list -> Seq.foldBack (fun x acc -> if List.contains x acc then
00:00:14 #599 [Verbose] > acc else x :: acc) list [[]]
00:00:14 #600 [Verbose] > |> Seq.rev
00:00:14 #601 [Verbose] > |> Seq.toArray
00:00:14 #602 [Verbose] > |> String
00:00:14 #603 [Verbose] >
00:00:14 #604 [Verbose] > "C",
00:00:14 #605 [Verbose] > fun input ->
00:00:14 #606 [Verbose] > input
00:00:14 #607 [Verbose] > |> Seq.rev
00:00:14 #608 [Verbose] > |> fun list -> Seq.foldBack (fun x (set, acc) -> if Set.contains x set
00:00:14 #609 [Verbose] > then set, acc else set.Add x, x :: acc) list (Set.empty, [[]])
00:00:14 #610 [Verbose] > |> snd
00:00:14 #611 [Verbose] > |> Seq.rev
00:00:14 #612 [Verbose] > |> Seq.toArray
00:00:14 #613 [Verbose] > |> String
00:00:14 #614 [Verbose] >
00:00:14 #615 [Verbose] > "D",
00:00:14 #616 [Verbose] > fun input ->
00:00:14 #617 [Verbose] > input
00:00:14 #618 [Verbose] > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:14 #619 [Verbose] > else set.Add x, Array.append acc [[| x |]]) (Set.empty, [[||]])
00:00:14 #620 [Verbose] > |> snd
00:00:14 #621 [Verbose] > |> String
00:00:14 #622 [Verbose] >
00:00:14 #623 [Verbose] > "E",
00:00:14 #624 [Verbose] > fun input ->
00:00:14 #625 [Verbose] > input
00:00:14 #626 [Verbose] > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:14 #627 [Verbose] > else set.Add x, x :: acc) (Set.empty, [[]])
00:00:14 #628 [Verbose] > |> snd
00:00:14 #629 [Verbose] > |> List.rev
00:00:14 #630 [Verbose] > |> List.toArray
00:00:14 #631 [Verbose] > |> String
00:00:14 #632 [Verbose] >
00:00:14 #633 [Verbose] > "F",
00:00:14 #634 [Verbose] > fun input ->
00:00:14 #635 [Verbose] > input
00:00:14 #636 [Verbose] > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:14 #637 [Verbose] > else set.Add x, acc @ [[ x ]]) (Set.empty, [[]])
00:00:14 #638 [Verbose] > |> snd
00:00:14 #639 [Verbose] > |> List.toArray
00:00:14 #640 [Verbose] > |> String
00:00:14 #641 [Verbose] >
00:00:14 #642 [Verbose] > "G",
00:00:14 #643 [Verbose] > fun input ->
00:00:14 #644 [Verbose] > input
00:00:14 #645 [Verbose] > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:14 #646 [Verbose] > else set.Add x, x :: acc) (Set.empty, [[]])
00:00:14 #647 [Verbose] > |> snd
00:00:14 #648 [Verbose] > |> List.toArray
00:00:14 #649 [Verbose] > |> Array.rev
00:00:14 #650 [Verbose] > |> String
00:00:14 #651 [Verbose] >
00:00:14 #652 [Verbose] > "H",
00:00:14 #653 [Verbose] > fun input ->
00:00:14 #654 [Verbose] > input
00:00:14 #655 [Verbose] > |> Seq.toList
00:00:14 #656 [Verbose] > |> fun list ->
00:00:14 #657 [Verbose] > let rec loop set = function
00:00:14 #658 [Verbose] > | head :: tail when Set.contains head set -> loop set tail
00:00:14 #659 [Verbose] > | head :: tail -> (loop (set.Add head) tail) @ [[ head ]]
00:00:14 #660 [Verbose] > | [[]] -> [[]]
00:00:14 #661 [Verbose] > loop Set.empty list
00:00:14 #662 [Verbose] > |> List.rev
00:00:14 #663 [Verbose] > |> List.toArray
00:00:14 #664 [Verbose] > |> String
00:00:14 #665 [Verbose] >
00:00:14 #666 [Verbose] > "I",
00:00:14 #667 [Verbose] > fun input ->
00:00:14 #668 [Verbose] > input
00:00:14 #669 [Verbose] > |> Seq.toList
00:00:14 #670 [Verbose] > |> fun list ->
00:00:14 #671 [Verbose] > let rec loop set = function
00:00:14 #672 [Verbose] > | head :: tail when Set.contains head set -> loop set tail
00:00:14 #673 [Verbose] > | head :: tail -> loop (set.Add head) tail |> Array.append [[|
00:00:14 #674 [Verbose] > head |]]
00:00:14 #675 [Verbose] > | [[]] -> [[||]]
00:00:14 #676 [Verbose] > loop Set.empty list
00:00:14 #677 [Verbose] > |> String
00:00:14 #678 [Verbose] >
00:00:14 #679 [Verbose] > "J",
00:00:14 #680 [Verbose] > fun input ->
00:00:14 #681 [Verbose] > input
00:00:14 #682 [Verbose] > |> Seq.toList
00:00:14 #683 [Verbose] > |> fun list ->
00:00:14 #684 [Verbose] > let rec loop set = function
00:00:14 #685 [Verbose] > | head :: tail when Set.contains head set -> loop set tail
00:00:14 #686 [Verbose] > | head :: tail -> head :: loop (set.Add head) tail
00:00:14 #687 [Verbose] > | [[]] -> [[]]
00:00:14 #688 [Verbose] > loop Set.empty list
00:00:14 #689 [Verbose] > |> List.toArray
00:00:14 #690 [Verbose] > |> String
00:00:14 #691 [Verbose] >
00:00:14 #692 [Verbose] > "K",
00:00:14 #693 [Verbose] > fun input ->
00:00:14 #694 [Verbose] > input
00:00:14 #695 [Verbose] > |> Seq.distinct
00:00:14 #696 [Verbose] > |> Seq.toArray
00:00:14 #697 [Verbose] > |> String
00:00:14 #698 [Verbose] > ]]
00:00:14 #699 [Verbose] > let testCases = seq {
00:00:14 #700 [Verbose] > "abc", "abc"
00:00:14 #701 [Verbose] > "accabb", "acb"
00:00:14 #702 [Verbose] > "pprrqqpp", "prq"
00:00:14 #703 [Verbose] >
00:00:14 #704 [Verbose] > "aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbbbbb
00:00:14 #705 [Verbose] > ", "acb"
00:00:14 #706 [Verbose] > }
00:00:14 #707 [Verbose] > let rec uniqueLettersTests = runAll (nameof uniqueLettersTests) _count solutions
00:00:14 #708 [Verbose] > testCases
00:00:14 #709 [Verbose] > uniqueLettersTests
00:00:14 #710 [Verbose] > |> sortResultList
00:00:20 #711 [Verbose] >
00:00:20 #712 [Verbose] > ╭─[ 5.74s - stdout ]───────────────────────────────────────────────────────────╮
00:00:20 #713 [Verbose] > │ │
00:00:20 #714 [Verbose] > │ │
00:00:20 #715 [Verbose] > │ Test: uniqueLettersTests │
00:00:20 #716 [Verbose] > │ │
00:00:20 #717 [Verbose] > │ Solution: abc │
00:00:20 #718 [Verbose] > │ Test case 1. A. Time: 4L │
00:00:20 #719 [Verbose] > │ Test case 2. B. Time: 5L │
00:00:20 #720 [Verbose] > │ Test case 3. C. Time: 4L │
00:00:20 #721 [Verbose] > │ Test case 4. D. Time: 4L │
00:00:20 #722 [Verbose] > │ Test case 5. E. Time: 2L │
00:00:20 #723 [Verbose] > │ Test case 6. F. Time: 1L │
00:00:20 #724 [Verbose] > │ Test case 7. G. Time: 1L │
00:00:20 #725 [Verbose] > │ Test case 8. H. Time: 2L │
00:00:20 #726 [Verbose] > │ Test case 9. I. Time: 2L │
00:00:20 #727 [Verbose] > │ Test case 10. J. Time: 3L │
00:00:20 #728 [Verbose] > │ Test case 11. K. Time: 3L │
00:00:20 #729 [Verbose] > │ │
00:00:20 #730 [Verbose] > │ Solution: accabb │
00:00:20 #731 [Verbose] > │ Test case 1. A. Time: 1L │
00:00:20 #732 [Verbose] > │ Test case 2. B. Time: 2L │
00:00:20 #733 [Verbose] > │ Test case 3. C. Time: 2L │
00:00:20 #734 [Verbose] > │ Test case 4. D. Time: 1L │
00:00:20 #735 [Verbose] > │ Test case 5. E. Time: 1L │
00:00:20 #736 [Verbose] > │ Test case 6. F. Time: 1L │
00:00:20 #737 [Verbose] > │ Test case 7. G. Time: 0L │
00:00:20 #738 [Verbose] > │ Test case 8. H. Time: 0L │
00:00:20 #739 [Verbose] > │ Test case 9. I. Time: 0L │
00:00:20 #740 [Verbose] > │ Test case 10. J. Time: 1L │
00:00:20 #741 [Verbose] > │ Test case 11. K. Time: 1L │
00:00:20 #742 [Verbose] > │ │
00:00:20 #743 [Verbose] > │ Solution: pprrqqpp │
00:00:20 #744 [Verbose] > │ Test case 1. A. Time: 1L │
00:00:20 #745 [Verbose] > │ Test case 2. B. Time: 1L │
00:00:20 #746 [Verbose] > │ Test case 3. C. Time: 1L │
00:00:20 #747 [Verbose] > │ Test case 4. D. Time: 1L │
00:00:20 #748 [Verbose] > │ Test case 5. E. Time: 1L │
00:00:20 #749 [Verbose] > │ Test case 6. F. Time: 1L │
00:00:20 #750 [Verbose] > │ Test case 7. G. Time: 0L │
00:00:20 #751 [Verbose] > │ Test case 8. H. Time: 1L │
00:00:20 #752 [Verbose] > │ Test case 9. I. Time: 1L │
00:00:20 #753 [Verbose] > │ Test case 10. J. Time: 1L │
00:00:20 #754 [Verbose] > │ Test case 11. K. Time: 1L │
00:00:20 #755 [Verbose] > │ │
00:00:20 #756 [Verbose] > │ Solution: │
00:00:20 #757 [Verbose] > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:20 #758 [Verbose] > │ bbb │
00:00:20 #759 [Verbose] > │ Test case 1. A. Time: 12L │
00:00:20 #760 [Verbose] > │ Test case 2. B. Time: 10L │
00:00:20 #761 [Verbose] > │ Test case 3. C. Time: 14L │
00:00:20 #762 [Verbose] > │ Test case 4. D. Time: 10L │
00:00:20 #763 [Verbose] > │ Test case 5. E. Time: 10L │
00:00:20 #764 [Verbose] > │ Test case 6. F. Time: 8L │
00:00:20 #765 [Verbose] > │ Test case 7. G. Time: 7L │
00:00:20 #766 [Verbose] > │ Test case 8. H. Time: 9L │
00:00:20 #767 [Verbose] > │ Test case 9. I. Time: 7L │
00:00:20 #768 [Verbose] > │ Test case 10. J. Time: 8L │
00:00:20 #769 [Verbose] > │ Test case 11. K. Time: 3L │
00:00:20 #770 [Verbose] > │ │
00:00:20 #771 [Verbose] > │ Input │
00:00:20 #772 [Verbose] > │ | Expected | Result | Best │
00:00:20 #773 [Verbose] > │ --- │
00:00:20 #774 [Verbose] > │ | --- | --- | --- │
00:00:20 #775 [Verbose] > │ abc │
00:00:20 #776 [Verbose] > │ | abc | abc | (6, 1) │
00:00:20 #777 [Verbose] > │ accabb │
00:00:20 #778 [Verbose] > │ | acb | acb | (7, 0) │
00:00:20 #779 [Verbose] > │ pprrqqpp │
00:00:20 #780 [Verbose] > │ | prq | prq | (7, 0) │
00:00:20 #781 [Verbose] > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:20 #782 [Verbose] > │ bbb | acb | acb | (11, 3) │
00:00:20 #783 [Verbose] > │ │
00:00:20 #784 [Verbose] > │ Average Ranking │
00:00:20 #785 [Verbose] > │ Test case 6. Average Time: 2L │
00:00:20 #786 [Verbose] > │ Test case 7. Average Time: 2L │
00:00:20 #787 [Verbose] > │ Test case 9. Average Time: 2L │
00:00:20 #788 [Verbose] > │ Test case 11. Average Time: 2L │
00:00:20 #789 [Verbose] > │ Test case 5. Average Time: 3L │
00:00:20 #790 [Verbose] > │ Test case 8. Average Time: 3L │
00:00:20 #791 [Verbose] > │ Test case 10. Average Time: 3L │
00:00:20 #792 [Verbose] > │ Test case 1. Average Time: 4L │
00:00:20 #793 [Verbose] > │ Test case 2. Average Time: 4L │
00:00:20 #794 [Verbose] > │ Test case 4. Average Time: 4L │
00:00:20 #795 [Verbose] > │ Test case 3. Average Time: 5L │
00:00:20 #796 [Verbose] > │ │
00:00:20 #797 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #798 [Verbose] >
00:00:20 #799 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #800 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #801 [Verbose] > │ ## rotateStringsTests │
00:00:20 #802 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #803 [Verbose] >
00:00:20 #804 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:20 #805 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:20 #806 [Verbose] > │ https://www.hackerrank.com/challenges/rotate-string/forum │
00:00:20 #807 [Verbose] > │ │
00:00:20 #808 [Verbose] > │ Test: RotateStrings │
00:00:20 #809 [Verbose] > │ │
00:00:20 #810 [Verbose] > │ Solution: abc │
00:00:20 #811 [Verbose] > │ Test case 1. A. Time: 1842L │
00:00:20 #812 [Verbose] > │ Test case 2. B. Time: 1846L │
00:00:20 #813 [Verbose] > │ Test case 3. C. Time: 1936L │
00:00:20 #814 [Verbose] > │ Test case 4. CA. Time: 2224L │
00:00:20 #815 [Verbose] > │ Test case 5. CB. Time: 2329L │
00:00:20 #816 [Verbose] > │ Test case 6. D. Time: 2474L │
00:00:20 #817 [Verbose] > │ Test case 7. E. Time: 1664L │
00:00:20 #818 [Verbose] > │ Test case 8. F. Time: 1517L │
00:00:20 #819 [Verbose] > │ Test case 9. FA. Time: 1651L │
00:00:20 #820 [Verbose] > │ Test case 10. FB. Time: 3764L │
00:00:20 #821 [Verbose] > │ Test case 11. FC. Time: 5415L │
00:00:20 #822 [Verbose] > │ │
00:00:20 #823 [Verbose] > │ Solution: abcde │
00:00:20 #824 [Verbose] > │ Test case 1. A. Time: 3356L │
00:00:20 #825 [Verbose] > │ Test case 2. B. Time: 2592L │
00:00:20 #826 [Verbose] > │ Test case 3. C. Time: 2346L │
00:00:20 #827 [Verbose] > │ Test case 4. CA. Time: 2997L │
00:00:20 #828 [Verbose] > │ Test case 5. CB. Time: 3061L │
00:00:20 #829 [Verbose] > │ Test case 6. D. Time: 4051L │
00:00:20 #830 [Verbose] > │ Test case 7. E. Time: 1905L │
00:00:20 #831 [Verbose] > │ Test case 8. F. Time: 1771L │
00:00:20 #832 [Verbose] > │ Test case 9. FA. Time: 2175L │
00:00:20 #833 [Verbose] > │ Test case 10. FB. Time: 3275L │
00:00:20 #834 [Verbose] > │ Test case 11. FC. Time: 5266L │
00:00:20 #835 [Verbose] > │ │
00:00:20 #836 [Verbose] > │ Solution: abcdefghi │
00:00:20 #837 [Verbose] > │ Test case 1. A. Time: 4492L │
00:00:20 #838 [Verbose] > │ Test case 2. B. Time: 3526L │
00:00:20 #839 [Verbose] > │ Test case 3. C. Time: 3583L │
00:00:20 #840 [Verbose] > │ Test case 4. CA. Time: 3711L │
00:00:20 #841 [Verbose] > │ Test case 5. CB. Time: 4783L │
00:00:20 #842 [Verbose] > │ Test case 6. D. Time: 7557L │
00:00:20 #843 [Verbose] > │ Test case 7. E. Time: 3452L │
00:00:20 #844 [Verbose] > │ Test case 8. F. Time: 3050L │
00:00:20 #845 [Verbose] > │ Test case 9. FA. Time: 3275L │
00:00:20 #846 [Verbose] > │ Test case 10. FB. Time: 4635L │
00:00:20 #847 [Verbose] > │ Test case 11. FC. Time: 5616L │
00:00:20 #848 [Verbose] > │ │
00:00:20 #849 [Verbose] > │ Solution: abab │
00:00:20 #850 [Verbose] > │ Test case 1. A. Time: 2093L │
00:00:20 #851 [Verbose] > │ Test case 2. B. Time: 1843L │
00:00:20 #852 [Verbose] > │ Test case 3. C. Time: 1746L │
00:00:20 #853 [Verbose] > │ Test case 4. CA. Time: 2085L │
00:00:20 #854 [Verbose] > │ Test case 5. CB. Time: 2139L │
00:00:20 #855 [Verbose] > │ Test case 6. D. Time: 2095L │
00:00:20 #856 [Verbose] > │ Test case 7. E. Time: 1723L │
00:00:20 #857 [Verbose] > │ Test case 8. F. Time: 1558L │
00:00:20 #858 [Verbose] > │ Test case 9. FA. Time: 1620L │
00:00:20 #859 [Verbose] > │ Test case 10. FB. Time: 2319L │
00:00:20 #860 [Verbose] > │ Test case 11. FC. Time: 3918L │
00:00:20 #861 [Verbose] > │ │
00:00:20 #862 [Verbose] > │ Solution: aa │
00:00:20 #863 [Verbose] > │ Test case 1. A. Time: 1107L │
00:00:20 #864 [Verbose] > │ Test case 2. B. Time: 1241L │
00:00:20 #865 [Verbose] > │ Test case 3. C. Time: 1183L │
00:00:20 #866 [Verbose] > │ Test case 4. CA. Time: 1563L │
00:00:20 #867 [Verbose] > │ Test case 5. CB. Time: 1525L │
00:00:20 #868 [Verbose] > │ Test case 6. D. Time: 1591L │
00:00:20 #869 [Verbose] > │ Test case 7. E. Time: 1327L │
00:00:20 #870 [Verbose] > │ Test case 8. F. Time: 1151L │
00:00:20 #871 [Verbose] > │ Test case 9. FA. Time: 1180L │
00:00:20 #872 [Verbose] > │ Test case 10. FB. Time: 1733L │
00:00:20 #873 [Verbose] > │ Test case 11. FC. Time: 2817L │
00:00:20 #874 [Verbose] > │ │
00:00:20 #875 [Verbose] > │ Solution: z │
00:00:20 #876 [Verbose] > │ Test case 1. A. Time: 816L │
00:00:20 #877 [Verbose] > │ Test case 2. B. Time: 745L │
00:00:20 #878 [Verbose] > │ Test case 3. C. Time: 928L │
00:00:20 #879 [Verbose] > │ Test case 4. CA. Time: 1375L │
00:00:20 #880 [Verbose] > │ Test case 5. CB. Time: 1029L │
00:00:20 #881 [Verbose] > │ Test case 6. D. Time: 852L │
00:00:20 #882 [Verbose] > │ Test case 7. E. Time: 712L │
00:00:20 #883 [Verbose] > │ Test case 8. F. Time: 263L │
00:00:20 #884 [Verbose] > │ Test case 9. FA. Time: 232L │
00:00:20 #885 [Verbose] > │ Test case 10. FB. Time: 773L │
00:00:20 #886 [Verbose] > │ Test case 11. FC. Time: 1789L │
00:00:20 #887 [Verbose] > │ │
00:00:20 #888 [Verbose] > │ Input | Expected │
00:00:20 #889 [Verbose] > │ │
00:00:20 #890 [Verbose] > │ | Result │
00:00:20 #891 [Verbose] > │ │
00:00:20 #892 [Verbose] > │ | Best │
00:00:20 #893 [Verbose] > │ --- | --- │
00:00:20 #894 [Verbose] > │ │
00:00:20 #895 [Verbose] > │ | --- │
00:00:20 #896 [Verbose] > │ │
00:00:20 #897 [Verbose] > │ | --- │
00:00:20 #898 [Verbose] > │ abc | bca cab abc │
00:00:20 #899 [Verbose] > │ │
00:00:20 #900 [Verbose] > │ | bca cab abc │
00:00:20 #901 [Verbose] > │ │
00:00:20 #902 [Verbose] > │ | (8, 1517) │
00:00:20 #903 [Verbose] > │ abcde | bcdea cdeab deabc eabcd abcde │
00:00:20 #904 [Verbose] > │ | bcdea cdeab deabc eabcd abcde │
00:00:20 #905 [Verbose] > │ | (8, 1771) │
00:00:20 #906 [Verbose] > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde │
00:00:20 #907 [Verbose] > │ ghiabcdef hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab │
00:00:20 #908 [Verbose] > │ defghiabc efghiabcd fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi │
00:00:20 #909 [Verbose] > │ | (8, 3050) │
00:00:20 #910 [Verbose] > │ abab | baba abab baba abab │
00:00:20 #911 [Verbose] > │ │
00:00:20 #912 [Verbose] > │ | baba abab baba abab │
00:00:20 #913 [Verbose] > │ │
00:00:20 #914 [Verbose] > │ | (8, 1558) │
00:00:20 #915 [Verbose] > │ aa | aa aa │
00:00:20 #916 [Verbose] > │ │
00:00:20 #917 [Verbose] > │ | aa aa │
00:00:20 #918 [Verbose] > │ │
00:00:20 #919 [Verbose] > │ | (1, 1107) │
00:00:20 #920 [Verbose] > │ z | z │
00:00:20 #921 [Verbose] > │ │
00:00:20 #922 [Verbose] > │ | z │
00:00:20 #923 [Verbose] > │ │
00:00:20 #924 [Verbose] > │ | (9, 232) │
00:00:20 #925 [Verbose] > │ │
00:00:20 #926 [Verbose] > │ Averages │
00:00:20 #927 [Verbose] > │ Test case 1. Average Time: 2284L │
00:00:20 #928 [Verbose] > │ Test case 2. Average Time: 1965L │
00:00:20 #929 [Verbose] > │ Test case 3. Average Time: 1953L │
00:00:20 #930 [Verbose] > │ Test case 4. Average Time: 2325L │
00:00:20 #931 [Verbose] > │ Test case 5. Average Time: 2477L │
00:00:20 #932 [Verbose] > │ Test case 6. Average Time: 3103L │
00:00:20 #933 [Verbose] > │ Test case 7. Average Time: 1797L │
00:00:20 #934 [Verbose] > │ Test case 8. Average Time: 1551L │
00:00:20 #935 [Verbose] > │ Test case 9. Average Time: 1688L │
00:00:20 #936 [Verbose] > │ Test case 10. Average Time: 2749L │
00:00:20 #937 [Verbose] > │ Test case 11. Average Time: 4136L │
00:00:20 #938 [Verbose] > │ │
00:00:20 #939 [Verbose] > │ Ranking │
00:00:20 #940 [Verbose] > │ Test case 11. Average Time: 4136L │
00:00:20 #941 [Verbose] > │ Test case 6. Average Time: 3103L │
00:00:20 #942 [Verbose] > │ Test case 10. Average Time: 2749L │
00:00:20 #943 [Verbose] > │ Test case 5. Average Time: 2477L │
00:00:20 #944 [Verbose] > │ Test case 4. Average Time: 2325L │
00:00:20 #945 [Verbose] > │ Test case 1. Average Time: 2284L │
00:00:20 #946 [Verbose] > │ Test case 2. Average Time: 1965L │
00:00:20 #947 [Verbose] > │ Test case 3. Average Time: 1953L │
00:00:20 #948 [Verbose] > │ Test case 7. Average Time: 1797L │
00:00:20 #949 [Verbose] > │ Test case 9. Average Time: 1688L │
00:00:20 #950 [Verbose] > │ Test case 8. Average Time: 1551L │
00:00:20 #951 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:20 #952 [Verbose] >
00:00:20 #953 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:20 #954 [Verbose] > //// test
00:00:20 #955 [Verbose] >
00:00:20 #956 [Verbose] > let solutions = [[
00:00:20 #957 [Verbose] > "A",
00:00:20 #958 [Verbose] > fun (input: string) ->
00:00:20 #959 [Verbose] > let resultList =
00:00:20 #960 [Verbose] > List.fold (fun acc x ->
00:00:20 #961 [Verbose] > let rotate (text: string) (letter: string) = text.Substring (1,
00:00:20 #962 [Verbose] > input.Length - 1) + letter
00:00:20 #963 [Verbose] > [[ rotate (if acc.IsEmpty then input else acc.Head) (string x)
00:00:20 #964 [Verbose] > ]] @ acc
00:00:20 #965 [Verbose] > ) [[]] (Seq.toList input)
00:00:20 #966 [Verbose] >
00:00:20 #967 [Verbose] > List.foldBack (fun acc x -> x + acc + " ") resultList ""
00:00:20 #968 [Verbose] > |> fun x -> x.TrimEnd ()
00:00:20 #969 [Verbose] >
00:00:20 #970 [Verbose] > "B",
00:00:20 #971 [Verbose] > fun input ->
00:00:20 #972 [Verbose] > input
00:00:20 #973 [Verbose] > |> Seq.toList
00:00:20 #974 [Verbose] > |> List.fold (fun (acc: string list) letter ->
00:00:20 #975 [Verbose] > let last =
00:00:20 #976 [Verbose] > if acc.IsEmpty
00:00:20 #977 [Verbose] > then input
00:00:20 #978 [Verbose] > else acc.Head
00:00:20 #979 [Verbose] >
00:00:20 #980 [Verbose] > let item = last.[[1 .. input.Length - 1]] + string letter
00:00:20 #981 [Verbose] >
00:00:20 #982 [Verbose] > item :: acc
00:00:20 #983 [Verbose] > ) [[]]
00:00:20 #984 [Verbose] > |> List.rev
00:00:20 #985 [Verbose] > |> String.concat " "
00:00:20 #986 [Verbose] >
00:00:20 #987 [Verbose] > "C",
00:00:20 #988 [Verbose] > fun input ->
00:00:20 #989 [Verbose] > input
00:00:20 #990 [Verbose] > |> Seq.toList
00:00:20 #991 [Verbose] > |> List.fold (fun (acc: string list) letter -> acc.Head.[[ 1 ..
00:00:20 #992 [Verbose] > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:00:20 #993 [Verbose] > |> List.rev
00:00:20 #994 [Verbose] > |> List.skip 1
00:00:20 #995 [Verbose] > |> String.concat " "
00:00:20 #996 [Verbose] >
00:00:20 #997 [Verbose] > "CA",
00:00:20 #998 [Verbose] > fun input ->
00:00:20 #999 [Verbose] > input
00:00:20 #1000 [Verbose] > |> Seq.fold (fun (acc: string list) letter -> acc.Head.[[ 1 ..
00:00:20 #1001 [Verbose] > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:00:20 #1002 [Verbose] > |> Seq.rev
00:00:20 #1003 [Verbose] > |> Seq.skip 1
00:00:20 #1004 [Verbose] > |> String.concat " "
00:00:20 #1005 [Verbose] >
00:00:20 #1006 [Verbose] > "CB",
00:00:20 #1007 [Verbose] > fun input ->
00:00:20 #1008 [Verbose] > input
00:00:20 #1009 [Verbose] > |> Seq.toArray
00:00:20 #1010 [Verbose] > |> Array.fold (fun (acc: string[[]]) letter -> acc |> Array.append [[|
00:00:20 #1011 [Verbose] > acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter |]]) [[| input |]]
00:00:20 #1012 [Verbose] > |> Array.rev
00:00:20 #1013 [Verbose] > |> Array.skip 1
00:00:20 #1014 [Verbose] > |> String.concat " "
00:00:20 #1015 [Verbose] >
00:00:20 #1016 [Verbose] > "D",
00:00:20 #1017 [Verbose] > fun input ->
00:00:20 #1018 [Verbose] > input
00:00:20 #1019 [Verbose] > |> Seq.toList
00:00:20 #1020 [Verbose] > |> fun list ->
00:00:20 #1021 [Verbose] > let rec loop (acc: char list list) = function
00:00:20 #1022 [Verbose] > | _ when acc.Length = list.Length -> acc
00:00:20 #1023 [Verbose] > | head :: tail ->
00:00:20 #1024 [Verbose] > let item = tail @ [[ head ]]
00:00:20 #1025 [Verbose] > loop (item :: acc) item
00:00:20 #1026 [Verbose] > | [[]] -> [[]]
00:00:20 #1027 [Verbose] > loop [[]] list
00:00:20 #1028 [Verbose] > |> List.rev
00:00:20 #1029 [Verbose] > |> List.map (List.toArray >> String)
00:00:20 #1030 [Verbose] > |> String.concat " "
00:00:20 #1031 [Verbose] >
00:00:20 #1032 [Verbose] > "E",
00:00:20 #1033 [Verbose] > fun input ->
00:00:20 #1034 [Verbose] > input
00:00:20 #1035 [Verbose] > |> Seq.toList
00:00:20 #1036 [Verbose] > |> fun list ->
00:00:20 #1037 [Verbose] > let rec loop (last: string) = function
00:00:20 #1038 [Verbose] > | head :: tail ->
00:00:20 #1039 [Verbose] > let item = last.[[1 .. input.Length - 1]] + string head
00:00:20 #1040 [Verbose] > item :: loop item tail
00:00:20 #1041 [Verbose] > | [[]] -> [[]]
00:00:20 #1042 [Verbose] > loop input list
00:00:20 #1043 [Verbose] > |> String.concat " "
00:00:20 #1044 [Verbose] >
00:00:20 #1045 [Verbose] > "F",
00:00:20 #1046 [Verbose] > fun input ->
00:00:20 #1047 [Verbose] > Array.singleton 0
00:00:20 #1048 [Verbose] > |> Array.append [[| 1 .. input.Length - 1 |]]
00:00:20 #1049 [Verbose] > |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:20 #1050 [Verbose] > |> String.concat " "
00:00:20 #1051 [Verbose] >
00:00:20 #1052 [Verbose] > "FA",
00:00:20 #1053 [Verbose] > fun input ->
00:00:20 #1054 [Verbose] > List.singleton 0
00:00:20 #1055 [Verbose] > |> List.append [[ 1 .. input.Length - 1 ]]
00:00:20 #1056 [Verbose] > |> List.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:20 #1057 [Verbose] > |> String.concat " "
00:00:20 #1058 [Verbose] >
00:00:20 #1059 [Verbose] > "FB",
00:00:20 #1060 [Verbose] > fun input ->
00:00:20 #1061 [Verbose] > Seq.singleton 0
00:00:20 #1062 [Verbose] > |> Seq.append (seq { 1 .. input.Length - 1 })
00:00:20 #1063 [Verbose] > |> Seq.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:20 #1064 [Verbose] > |> String.concat " "
00:00:20 #1065 [Verbose] >
00:00:20 #1066 [Verbose] > "FC",
00:00:20 #1067 [Verbose] > fun input ->
00:00:20 #1068 [Verbose] > Array.singleton 0
00:00:20 #1069 [Verbose] > |> Array.append [[| 1 .. input.Length - 1 |]]
00:00:20 #1070 [Verbose] > |> Array.Parallel.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:20 #1071 [Verbose] > |> String.concat " "
00:00:20 #1072 [Verbose] > ]]
00:00:20 #1073 [Verbose] > let testCases = seq {
00:00:20 #1074 [Verbose] > "abc", "bca cab abc"
00:00:20 #1075 [Verbose] > "abcde", "bcdea cdeab deabc eabcd abcde"
00:00:20 #1076 [Verbose] > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef
00:00:20 #1077 [Verbose] > hiabcdefg iabcdefgh abcdefghi"
00:00:20 #1078 [Verbose] > "abab", "baba abab baba abab"
00:00:20 #1079 [Verbose] > "aa", "aa aa"
00:00:20 #1080 [Verbose] > "z", "z"
00:00:20 #1081 [Verbose] > }
00:00:20 #1082 [Verbose] > let rec rotateStringsTests = runAll (nameof rotateStringsTests) _count solutions
00:00:20 #1083 [Verbose] > testCases
00:00:20 #1084 [Verbose] > rotateStringsTests
00:00:20 #1085 [Verbose] > |> sortResultList
00:00:28 #1086 [Verbose] >
00:00:28 #1087 [Verbose] > ╭─[ 8.36s - stdout ]───────────────────────────────────────────────────────────╮
00:00:28 #1088 [Verbose] > │ │
00:00:28 #1089 [Verbose] > │ │
00:00:28 #1090 [Verbose] > │ Test: rotateStringsTests │
00:00:28 #1091 [Verbose] > │ │
00:00:28 #1092 [Verbose] > │ Solution: abc │
00:00:28 #1093 [Verbose] > │ Test case 1. A. Time: 2L │
00:00:28 #1094 [Verbose] > │ Test case 2. B. Time: 2L │
00:00:28 #1095 [Verbose] > │ Test case 3. C. Time: 2L │
00:00:28 #1096 [Verbose] > │ Test case 4. CA. Time: 4L │
00:00:28 #1097 [Verbose] > │ Test case 5. CB. Time: 2L │
00:00:28 #1098 [Verbose] > │ Test case 6. D. Time: 3L │
00:00:28 #1099 [Verbose] > │ Test case 7. E. Time: 2L │
00:00:28 #1100 [Verbose] > │ Test case 8. F. Time: 2L │
00:00:28 #1101 [Verbose] > │ Test case 9. FA. Time: 2L │
00:00:28 #1102 [Verbose] > │ Test case 10. FB. Time: 8L │
00:00:28 #1103 [Verbose] > │ Test case 11. FC. Time: 9L │
00:00:28 #1104 [Verbose] > │ │
00:00:28 #1105 [Verbose] > │ Solution: abcde │
00:00:28 #1106 [Verbose] > │ Test case 1. A. Time: 1L │
00:00:28 #1107 [Verbose] > │ Test case 2. B. Time: 1L │
00:00:28 #1108 [Verbose] > │ Test case 3. C. Time: 1L │
00:00:28 #1109 [Verbose] > │ Test case 4. CA. Time: 1L │
00:00:28 #1110 [Verbose] > │ Test case 5. CB. Time: 1L │
00:00:28 #1111 [Verbose] > │ Test case 6. D. Time: 4L │
00:00:28 #1112 [Verbose] > │ Test case 7. E. Time: 1L │
00:00:28 #1113 [Verbose] > │ Test case 8. F. Time: 0L │
00:00:28 #1114 [Verbose] > │ Test case 9. FA. Time: 2L │
00:00:28 #1115 [Verbose] > │ Test case 10. FB. Time: 4L │
00:00:28 #1116 [Verbose] > │ Test case 11. FC. Time: 5L │
00:00:28 #1117 [Verbose] > │ │
00:00:28 #1118 [Verbose] > │ Solution: abcdefghi │
00:00:28 #1119 [Verbose] > │ Test case 1. A. Time: 4L │
00:00:28 #1120 [Verbose] > │ Test case 2. B. Time: 4L │
00:00:28 #1121 [Verbose] > │ Test case 3. C. Time: 1L │
00:00:28 #1122 [Verbose] > │ Test case 4. CA. Time: 4L │
00:00:28 #1123 [Verbose] > │ Test case 5. CB. Time: 2L │
00:00:28 #1124 [Verbose] > │ Test case 6. D. Time: 7L │
00:00:28 #1125 [Verbose] > │ Test case 7. E. Time: 2L │
00:00:28 #1126 [Verbose] > │ Test case 8. F. Time: 1L │
00:00:28 #1127 [Verbose] > │ Test case 9. FA. Time: 4L │
00:00:28 #1128 [Verbose] > │ Test case 10. FB. Time: 2L │
00:00:28 #1129 [Verbose] > │ Test case 11. FC. Time: 7L │
00:00:28 #1130 [Verbose] > │ │
00:00:28 #1131 [Verbose] > │ Solution: abab │
00:00:28 #1132 [Verbose] > │ Test case 1. A. Time: 1L │
00:00:28 #1133 [Verbose] > │ Test case 2. B. Time: 1L │
00:00:28 #1134 [Verbose] > │ Test case 3. C. Time: 1L │
00:00:28 #1135 [Verbose] > │ Test case 4. CA. Time: 1L │
00:00:28 #1136 [Verbose] > │ Test case 5. CB. Time: 0L │
00:00:28 #1137 [Verbose] > │ Test case 6. D. Time: 1L │
00:00:28 #1138 [Verbose] > │ Test case 7. E. Time: 0L │
00:00:28 #1139 [Verbose] > │ Test case 8. F. Time: 0L │
00:00:28 #1140 [Verbose] > │ Test case 9. FA. Time: 0L │
00:00:28 #1141 [Verbose] > │ Test case 10. FB. Time: 1L │
00:00:28 #1142 [Verbose] > │ Test case 11. FC. Time: 6L │
00:00:28 #1143 [Verbose] > │ │
00:00:28 #1144 [Verbose] > │ Solution: aa │
00:00:28 #1145 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:28 #1146 [Verbose] > │ Test case 2. B. Time: 0L │
00:00:28 #1147 [Verbose] > │ Test case 3. C. Time: 0L │
00:00:28 #1148 [Verbose] > │ Test case 4. CA. Time: 1L │
00:00:28 #1149 [Verbose] > │ Test case 5. CB. Time: 0L │
00:00:28 #1150 [Verbose] > │ Test case 6. D. Time: 0L │
00:00:28 #1151 [Verbose] > │ Test case 7. E. Time: 0L │
00:00:28 #1152 [Verbose] > │ Test case 8. F. Time: 0L │
00:00:28 #1153 [Verbose] > │ Test case 9. FA. Time: 0L │
00:00:28 #1154 [Verbose] > │ Test case 10. FB. Time: 1L │
00:00:28 #1155 [Verbose] > │ Test case 11. FC. Time: 5L │
00:00:28 #1156 [Verbose] > │ │
00:00:28 #1157 [Verbose] > │ Solution: z │
00:00:28 #1158 [Verbose] > │ Test case 1. A. Time: 0L │
00:00:28 #1159 [Verbose] > │ Test case 2. B. Time: 0L │
00:00:28 #1160 [Verbose] > │ Test case 3. C. Time: 0L │
00:00:28 #1161 [Verbose] > │ Test case 4. CA. Time: 0L │
00:00:28 #1162 [Verbose] > │ Test case 5. CB. Time: 0L │
00:00:28 #1163 [Verbose] > │ Test case 6. D. Time: 0L │
00:00:28 #1164 [Verbose] > │ Test case 7. E. Time: 0L │
00:00:28 #1165 [Verbose] > │ Test case 8. F. Time: 0L │
00:00:28 #1166 [Verbose] > │ Test case 9. FA. Time: 0L │
00:00:28 #1167 [Verbose] > │ Test case 10. FB. Time: 1L │
00:00:28 #1168 [Verbose] > │ Test case 11. FC. Time: 5L │
00:00:28 #1169 [Verbose] > │ │
00:00:28 #1170 [Verbose] > │ Input | Expected │
00:00:28 #1171 [Verbose] > │ │
00:00:28 #1172 [Verbose] > │ | Result │
00:00:28 #1173 [Verbose] > │ │
00:00:28 #1174 [Verbose] > │ | Best │
00:00:28 #1175 [Verbose] > │ --- | --- │
00:00:28 #1176 [Verbose] > │ │
00:00:28 #1177 [Verbose] > │ | --- │
00:00:28 #1178 [Verbose] > │ │
00:00:28 #1179 [Verbose] > │ | --- │
00:00:28 #1180 [Verbose] > │ abc | bca cab abc │
00:00:28 #1181 [Verbose] > │ │
00:00:28 #1182 [Verbose] > │ | bca cab abc │
00:00:28 #1183 [Verbose] > │ │
00:00:28 #1184 [Verbose] > │ | (1, 2) │
00:00:28 #1185 [Verbose] > │ abcde | bcdea cdeab deabc eabcd abcde │
00:00:28 #1186 [Verbose] > │ | bcdea cdeab deabc eabcd abcde │
00:00:28 #1187 [Verbose] > │ | (8, 0) │
00:00:28 #1188 [Verbose] > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │
00:00:28 #1189 [Verbose] > │ hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd │
00:00:28 #1190 [Verbose] > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi | (3, 1) │
00:00:28 #1191 [Verbose] > │ abab | baba abab baba abab │
00:00:28 #1192 [Verbose] > │ | baba abab baba abab │
00:00:28 #1193 [Verbose] > │ | (5, 0) │
00:00:28 #1194 [Verbose] > │ aa | aa aa │
00:00:28 #1195 [Verbose] > │ │
00:00:28 #1196 [Verbose] > │ | aa aa │
00:00:28 #1197 [Verbose] > │ │
00:00:28 #1198 [Verbose] > │ | (1, 0) │
00:00:28 #1199 [Verbose] > │ z | z │
00:00:28 #1200 [Verbose] > │ │
00:00:28 #1201 [Verbose] > │ | z │
00:00:28 #1202 [Verbose] > │ │
00:00:28 #1203 [Verbose] > │ | (1, 0) │
00:00:28 #1204 [Verbose] > │ │
00:00:28 #1205 [Verbose] > │ Average Ranking │
00:00:28 #1206 [Verbose] > │ Test case 3. Average Time: 0L │
00:00:28 #1207 [Verbose] > │ Test case 5. Average Time: 0L │
00:00:28 #1208 [Verbose] > │ Test case 7. Average Time: 0L │
00:00:28 #1209 [Verbose] > │ Test case 8. Average Time: 0L │
00:00:28 #1210 [Verbose] > │ Test case 1. Average Time: 1L │
00:00:28 #1211 [Verbose] > │ Test case 2. Average Time: 1L │
00:00:28 #1212 [Verbose] > │ Test case 4. Average Time: 1L │
00:00:28 #1213 [Verbose] > │ Test case 9. Average Time: 1L │
00:00:28 #1214 [Verbose] > │ Test case 6. Average Time: 2L │
00:00:28 #1215 [Verbose] > │ Test case 10. Average Time: 2L │
00:00:28 #1216 [Verbose] > │ Test case 11. Average Time: 6L │
00:00:28 #1217 [Verbose] > │ │
00:00:28 #1218 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #1219 [Verbose] >
00:00:28 #1220 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 #1221 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 #1222 [Verbose] > │ ## rotate_strings_tests │
00:00:28 #1223 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 #1224 [Verbose] >
00:00:28 #1225 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:28 #1226 [Verbose] > // // test
00:00:28 #1227 [Verbose] > // // timeout=60000
00:00:28 #1228 [Verbose] > // // print_code=true
00:00:28 #1229 [Verbose] >
00:00:28 #1230 [Verbose] > inl get_solutions () =
00:00:28 #1231 [Verbose] > [[
00:00:28 #1232 [Verbose] > // "A",
00:00:28 #1233 [Verbose] > // fun (input : string) =>
00:00:28 #1234 [Verbose] > // let resultList =
00:00:28 #1235 [Verbose] > // List.fold (fun acc x =>
00:00:28 #1236 [Verbose] > // let rotate (text : string) (letter : string) =
00:00:28 #1237 [Verbose] > text.Substring (1, input.Length - 1) + letter
00:00:28 #1238 [Verbose] > // [[ rotate (if acc.IsEmpty then input else acc.Head)
00:00:28 #1239 [Verbose] > (string x) ]] /@ acc
00:00:28 #1240 [Verbose] > // ) [[]] (Seq.toList input)
00:00:28 #1241 [Verbose] >
00:00:28 #1242 [Verbose] > // List.foldBack (fun acc x => x + acc + " ") resultList ""
00:00:28 #1243 [Verbose] > // |> fun x => x.TrimEnd ()
00:00:28 #1244 [Verbose] >
00:00:28 #1245 [Verbose] > // "B",
00:00:28 #1246 [Verbose] > // fun input =>
00:00:28 #1247 [Verbose] > // input
00:00:28 #1248 [Verbose] > // |> Seq.toList
00:00:28 #1249 [Verbose] > // |> List.fold (fun (acc : string list) letter =>
00:00:28 #1250 [Verbose] > // let last =
00:00:28 #1251 [Verbose] > // if acc.IsEmpty
00:00:28 #1252 [Verbose] > // then input
00:00:28 #1253 [Verbose] > // else acc.Head
00:00:28 #1254 [Verbose] >
00:00:28 #1255 [Verbose] > // let item = last.[[1 .. input.Length - 1]] + string letter
00:00:28 #1256 [Verbose] >
00:00:28 #1257 [Verbose] > // item :: acc
00:00:28 #1258 [Verbose] > // ) [[]]
00:00:28 #1259 [Verbose] > // |> List.rev
00:00:28 #1260 [Verbose] > // |> String.concat " "
00:00:28 #1261 [Verbose] >
00:00:28 #1262 [Verbose] > // "C",
00:00:28 #1263 [Verbose] > // fun input =>
00:00:28 #1264 [Verbose] > // input
00:00:28 #1265 [Verbose] > // |> Seq.toList
00:00:28 #1266 [Verbose] > // |> List.fold (fun (acc : list string) letter => acc.Head.[[ 1 ..
00:00:28 #1267 [Verbose] > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:00:28 #1268 [Verbose] > // |> List.rev
00:00:28 #1269 [Verbose] > // |> List.skip 1
00:00:28 #1270 [Verbose] > // |> String.concat " "
00:00:28 #1271 [Verbose] >
00:00:28 #1272 [Verbose] > // "CA",
00:00:28 #1273 [Verbose] > // fun input =>
00:00:28 #1274 [Verbose] > // input
00:00:28 #1275 [Verbose] > // |> Seq.fold (fun (acc : list string) letter => acc.Head.[[ 1 ..
00:00:28 #1276 [Verbose] > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:00:28 #1277 [Verbose] > // |> Seq.rev
00:00:28 #1278 [Verbose] > // |> Seq.skip 1
00:00:28 #1279 [Verbose] > // |> String.concat " "
00:00:28 #1280 [Verbose] >
00:00:28 #1281 [Verbose] > // "CB",
00:00:28 #1282 [Verbose] > // fun input =>
00:00:28 #1283 [Verbose] > // input
00:00:28 #1284 [Verbose] > // |> Seq.toArray
00:00:28 #1285 [Verbose] > // |> Array.fold (fun (acc : a _ string) letter => acc |>
00:00:28 #1286 [Verbose] > Array.append (a ;[[ acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter ]]))
00:00:28 #1287 [Verbose] > (a ;[[ input ]])
00:00:28 #1288 [Verbose] > // |> Array.rev
00:00:28 #1289 [Verbose] > // |> Array.skip 1
00:00:28 #1290 [Verbose] > // |> String.concat " "
00:00:28 #1291 [Verbose] >
00:00:28 #1292 [Verbose] > // "D",
00:00:28 #1293 [Verbose] > // fun input =>
00:00:28 #1294 [Verbose] > // input
00:00:28 #1295 [Verbose] > // |> Seq.toList
00:00:28 #1296 [Verbose] > // |> fun list =>
00:00:28 #1297 [Verbose] > // let rec loop (acc : list (list char)) = function
00:00:28 #1298 [Verbose] > // | _ when acc.Length = list.Length => acc
00:00:28 #1299 [Verbose] > // | head :: tail =>
00:00:28 #1300 [Verbose] > // let item = tail /@ [[ head ]]
00:00:28 #1301 [Verbose] > // loop (item :: acc) item
00:00:28 #1302 [Verbose] > // | [[]] => [[]]
00:00:28 #1303 [Verbose] > // loop [[]] list
00:00:28 #1304 [Verbose] > // |> List.rev
00:00:28 #1305 [Verbose] > // |> List.map (List.toArray >> String)
00:00:28 #1306 [Verbose] > // |> String.concat " "
00:00:28 #1307 [Verbose] >
00:00:28 #1308 [Verbose] > // "E",
00:00:28 #1309 [Verbose] > // fun input =>
00:00:28 #1310 [Verbose] > // input
00:00:28 #1311 [Verbose] > // |> Seq.toList
00:00:28 #1312 [Verbose] > // |> fun list =>
00:00:28 #1313 [Verbose] > // let rec loop (last : string) = function
00:00:28 #1314 [Verbose] > // | head :: tail =>
00:00:28 #1315 [Verbose] > // let item = last.[[1 .. input.Length - 1]] + string
00:00:28 #1316 [Verbose] > head
00:00:28 #1317 [Verbose] > // item :: loop item tail
00:00:28 #1318 [Verbose] > // | [[]] => [[]]
00:00:28 #1319 [Verbose] > // loop input list
00:00:28 #1320 [Verbose] > // |> String.concat " "
00:00:28 #1321 [Verbose] >
00:00:28 #1322 [Verbose] > "F",
00:00:28 #1323 [Verbose] > fun input =>
00:00:28 #1324 [Verbose] > // Array.singleton 0
00:00:28 #1325 [Verbose] > // |> Array.append [[| 1 .. input.Length - 1 |]]
00:00:28 #1326 [Verbose] > // |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:28 #1327 [Verbose] > // |> String.concat " "
00:00:28 #1328 [Verbose] > inl input_length = input |> sm.length
00:00:28 #1329 [Verbose] > am.singleton 0i32
00:00:28 #1330 [Verbose] > |> am.append (am'.init_series 1 (input_length - 1) 1)
00:00:28 #1331 [Verbose] > |> am.map (fun i =>
00:00:28 #1332 [Verbose] > inl a = sm.slice input { from = i; to = input_length - 1 } :
00:00:28 #1333 [Verbose] > string
00:00:28 #1334 [Verbose] > inl b = sm.slice input { from = 0; to = i - 1 } : string
00:00:28 #1335 [Verbose] > $"!a + !b" : string
00:00:28 #1336 [Verbose] > )
00:00:28 #1337 [Verbose] > |> string_concat " "
00:00:28 #1338 [Verbose] >
00:00:28 #1339 [Verbose] > "FA",
00:00:28 #1340 [Verbose] > fun input =>
00:00:28 #1341 [Verbose] > // List.singleton 0
00:00:28 #1342 [Verbose] > // |> List.append [[ 1 .. input.Length - 1 ]]
00:00:28 #1343 [Verbose] > // // |> List.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:28 #1344 [Verbose] > // |> String.concat " "
00:00:28 #1345 [Verbose] > inl input_length = input |> sm.length
00:00:28 #1346 [Verbose] > listm.singleton 0i32
00:00:28 #1347 [Verbose] > |> listm.append (listm'.init_series 1 (input_length - 1) 1)
00:00:28 #1348 [Verbose] > |> listm.map (fun i =>
00:00:28 #1349 [Verbose] > inl a = sm.slice input { from = i; to = input_length - 1 } :
00:00:28 #1350 [Verbose] > string
00:00:28 #1351 [Verbose] > inl b = if i = 0 then "" else sm.slice input { from = 0; to = i
00:00:28 #1352 [Verbose] > - 1 } : string
00:00:28 #1353 [Verbose] > $"!a + !b" : string
00:00:28 #1354 [Verbose] > )
00:00:28 #1355 [Verbose] > |> listm.toArray
00:00:28 #1356 [Verbose] > |> fun x => x : a i32 _
00:00:28 #1357 [Verbose] > |> string_concat " "
00:00:28 #1358 [Verbose] >
00:00:28 #1359 [Verbose] > // "FB",
00:00:28 #1360 [Verbose] > // fun input =>
00:00:28 #1361 [Verbose] > // Seq.singleton 0
00:00:28 #1362 [Verbose] > // // |> Seq.append (seq { 1 .. input.Length - 1 })
00:00:28 #1363 [Verbose] > // // |> Seq.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:00:28 #1364 [Verbose] > // |> String.concat " "
00:00:28 #1365 [Verbose] >
00:00:28 #1366 [Verbose] > // "FC",
00:00:28 #1367 [Verbose] > // fun input =>
00:00:28 #1368 [Verbose] > // Array.singleton 0
00:00:28 #1369 [Verbose] > // |> Array.append (a ;[[ 1 .. input.Length - 1 ]])
00:00:28 #1370 [Verbose] > // // |> Array.Parallel.map (fun i => input.[[ i .. ]] + input.[[ ..
00:00:28 #1371 [Verbose] > i - 1 ]])
00:00:28 #1372 [Verbose] > // |> String.concat " "
00:00:28 #1373 [Verbose] > ]]
00:00:28 #1374 [Verbose] >
00:00:28 #1375 [Verbose] > inl rec rotate_strings_tests () =
00:00:28 #1376 [Verbose] > inl test_cases = [[
00:00:28 #1377 [Verbose] > "abc", "bca cab abc"
00:00:28 #1378 [Verbose] > "abcde", "bcdea cdeab deabc eabcd abcde"
00:00:28 #1379 [Verbose] > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde
00:00:28 #1380 [Verbose] > ghiabcdef hiabcdefg iabcdefgh abcdefghi"
00:00:28 #1381 [Verbose] > "abab", "baba abab baba abab"
00:00:28 #1382 [Verbose] > "aa", "aa aa"
00:00:28 #1383 [Verbose] > "z", "z"
00:00:28 #1384 [Verbose] > ]]
00:00:28 #1385 [Verbose] >
00:00:28 #1386 [Verbose] > inl solutions = get_solutions ()
00:00:28 #1387 [Verbose] >
00:00:28 #1388 [Verbose] > // inl is_fast () = true
00:00:28 #1389 [Verbose] >
00:00:28 #1390 [Verbose] > inl count =
00:00:28 #1391 [Verbose] > if is_fast ()
00:00:28 #1392 [Verbose] > then 1000i32
00:00:28 #1393 [Verbose] > else 2000000i32
00:00:28 #1394 [Verbose] >
00:00:28 #1395 [Verbose] > run_all (nameof rotate_strings_tests) count solutions test_cases
00:00:28 #1396 [Verbose] > |> sort_result_list
00:00:28 #1397 [Verbose] >
00:00:28 #1398 [Verbose] > rotate_strings_tests ()
00:00:28 #1399 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0130-1288-8824-83bdac7ead75\main.spi
00:00:56 #1400 [Verbose] >
00:00:56 #1401 [Verbose] > ╭─[ 27.64s - stdout ]──────────────────────────────────────────────────────────╮
00:00:56 #1402 [Verbose] > │ type UH0 = │
00:00:56 #1403 [Verbose] > │ | UH0_0 of string * string * UH0 │
00:00:56 #1404 [Verbose] > │ | UH0_1 │
00:00:56 #1405 [Verbose] > │ and Mut0 = {mutable l0 : uint64} │
00:00:56 #1406 [Verbose] > │ and Mut1 = {mutable l0 : int32} │
00:00:56 #1407 [Verbose] > │ and UH1 = │
00:00:56 #1408 [Verbose] > │ | UH1_0 of int32 * UH1 │
00:00:56 #1409 [Verbose] > │ | UH1_1 │
00:00:56 #1410 [Verbose] > │ and UH2 = │
00:00:56 #1411 [Verbose] > │ | UH2_0 of string * UH2 │
00:00:56 #1412 [Verbose] > │ | UH2_1 │
00:00:56 #1413 [Verbose] > │ and UH3 = │
00:00:56 #1414 [Verbose] > │ | UH3_0 of int32 * string * (string -> string) * UH3 │
00:00:56 #1415 [Verbose] > │ | UH3_1 │
00:00:56 #1416 [Verbose] > │ and [<Struct>] US0 = │
00:00:56 #1417 [Verbose] > │ | US0_0 │
00:00:56 #1418 [Verbose] > │ | US0_1 of f1_0 : System.ConsoleColor │
00:00:56 #1419 [Verbose] > │ and UH4 = │
00:00:56 #1420 [Verbose] > │ | UH4_0 of int64 * int64 * UH4 │
00:00:56 #1421 [Verbose] > │ | UH4_1 │
00:00:56 #1422 [Verbose] > │ and Mut2 = {mutable l0 : uint64; mutable l1 : UH4; mutable l2 : int64} │
00:00:56 #1423 [Verbose] > │ and UH5 = │
00:00:56 #1424 [Verbose] > │ | UH5_0 of UH2 * US0 * UH5 │
00:00:56 #1425 [Verbose] > │ | UH5_1 │
00:00:56 #1426 [Verbose] > │ and [<Struct>] US1 = │
00:00:56 #1427 [Verbose] > │ | US1_0 │
00:00:56 #1428 [Verbose] > │ | US1_1 of f1_0 : int64 │
00:00:56 #1429 [Verbose] > │ and UH6 = │
00:00:56 #1430 [Verbose] > │ | UH6_0 of int32 * int64 * UH6 │
00:00:56 #1431 [Verbose] > │ | UH6_1 │
00:00:56 #1432 [Verbose] > │ and Mut3 = {mutable l0 : uint64; mutable l1 : UH6; mutable l2 : int32} │
00:00:56 #1433 [Verbose] > │ and UH7 = │
00:00:56 #1434 [Verbose] > │ | UH7_0 of int32 * string * UH7 │
00:00:56 #1435 [Verbose] > │ | UH7_1 │
00:00:56 #1436 [Verbose] > │ let rec method2 (v0 : UH0, v1 : uint64) : uint64 = │
00:00:56 #1437 [Verbose] > │ match v0 with │
00:00:56 #1438 [Verbose] > │ | UH0_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1439 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:56 #1440 [Verbose] > │ method2(v4, v5) │
00:00:56 #1441 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:56 #1442 [Verbose] > │ v1 │
00:00:56 #1443 [Verbose] > │ and method3 (v0 : (struct (string * string) []), v1 : UH0, v2 : uint64) : │
00:00:56 #1444 [Verbose] > │ uint64 = │
00:00:56 #1445 [Verbose] > │ match v1 with │
00:00:56 #1446 [Verbose] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1447 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:56 #1448 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:56 #1449 [Verbose] > │ method3(v0, v5, v6) │
00:00:56 #1450 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:00:56 #1451 [Verbose] > │ v2 │
00:00:56 #1452 [Verbose] > │ and method1 (v0 : UH0) : (struct (string * string) []) = │
00:00:56 #1453 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:56 #1454 [Verbose] > │ let v2 : uint64 = method2(v0, v1) │
00:00:56 #1455 [Verbose] > │ let v3 : (struct (string * string) []) = Array.zeroCreate<struct (string │
00:00:56 #1456 [Verbose] > │ * string)> (System.Convert.ToInt32(v2)) │
00:00:56 #1457 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:56 #1458 [Verbose] > │ let v5 : uint64 = method3(v3, v0, v4) │
00:00:56 #1459 [Verbose] > │ v3 │
00:00:56 #1460 [Verbose] > │ and method4 (v0 : uint64, v1 : Mut0) : bool = │
00:00:56 #1461 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:56 #1462 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:56 #1463 [Verbose] > │ v3 │
00:00:56 #1464 [Verbose] > │ and method5 (v0 : int32, v1 : Mut1) : bool = │
00:00:56 #1465 [Verbose] > │ let v2 : int32 = v1.l0 │
00:00:56 #1466 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:56 #1467 [Verbose] > │ v3 │
00:00:56 #1468 [Verbose] > │ and closure1 () (v0 : string) : string = │
00:00:56 #1469 [Verbose] > │ let v1 : int32 = v0.Length │
00:00:56 #1470 [Verbose] > │ let v2 : (int32 []) = Array.zeroCreate<int32> (1) │
00:00:56 #1471 [Verbose] > │ v2.[int 0] <- 0 │
00:00:56 #1472 [Verbose] > │ let v3 : int32 = v1 - 1 │
00:00:56 #1473 [Verbose] > │ let v4 : int32 = v3 - 1 │
00:00:56 #1474 [Verbose] > │ let v5 : int32 = v4 + 1 │
00:00:56 #1475 [Verbose] > │ let v6 : (int32 []) = Array.zeroCreate<int32> (v5) │
00:00:56 #1476 [Verbose] > │ let v7 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #1477 [Verbose] > │ while method5(v5, v7) do │
00:00:56 #1478 [Verbose] > │ let v9 : int32 = v7.l0 │
00:00:56 #1479 [Verbose] > │ let v10 : int32 = 1 + v9 │
00:00:56 #1480 [Verbose] > │ v6.[int v9] <- v10 │
00:00:56 #1481 [Verbose] > │ let v11 : int32 = v9 + 1 │
00:00:56 #1482 [Verbose] > │ v7.l0 <- v11 │
00:00:56 #1483 [Verbose] > │ () │
00:00:56 #1484 [Verbose] > │ let v12 : int32 = v6.Length │
00:00:56 #1485 [Verbose] > │ let v13 : int32 = v2.Length │
00:00:56 #1486 [Verbose] > │ let v14 : int32 = v12 + v13 │
00:00:56 #1487 [Verbose] > │ let v15 : (int32 []) = Array.zeroCreate<int32> (v14) │
00:00:56 #1488 [Verbose] > │ let v16 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #1489 [Verbose] > │ while method5(v14, v16) do │
00:00:56 #1490 [Verbose] > │ let v18 : int32 = v16.l0 │
00:00:56 #1491 [Verbose] > │ let v19 : bool = v18 < v12 │
00:00:56 #1492 [Verbose] > │ let v23 : int32 = │
00:00:56 #1493 [Verbose] > │ if v19 then │
00:00:56 #1494 [Verbose] > │ let v20 : int32 = v6.[int v18] │
00:00:56 #1495 [Verbose] > │ v20 │
00:00:56 #1496 [Verbose] > │ else │
00:00:56 #1497 [Verbose] > │ let v21 : int32 = v18 - v12 │
00:00:56 #1498 [Verbose] > │ let v22 : int32 = v2.[int v21] │
00:00:56 #1499 [Verbose] > │ v22 │
00:00:56 #1500 [Verbose] > │ v15.[int v18] <- v23 │
00:00:56 #1501 [Verbose] > │ let v24 : int32 = v18 + 1 │
00:00:56 #1502 [Verbose] > │ v16.l0 <- v24 │
00:00:56 #1503 [Verbose] > │ () │
00:00:56 #1504 [Verbose] > │ let v25 : int32 = v15.Length │
00:00:56 #1505 [Verbose] > │ let v26 : (string []) = Array.zeroCreate<string> (v25) │
00:00:56 #1506 [Verbose] > │ let v27 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #1507 [Verbose] > │ while method5(v25, v27) do │
00:00:56 #1508 [Verbose] > │ let v29 : int32 = v27.l0 │
00:00:56 #1509 [Verbose] > │ let v30 : int32 = v15.[int v29] │
00:00:56 #1510 [Verbose] > │ let v31 : string = v0.[int v30..int v3] │
00:00:56 #1511 [Verbose] > │ let v32 : int32 = v30 - 1 │
00:00:56 #1512 [Verbose] > │ let v33 : string = v0.[int 0..int v32] │
00:00:56 #1513 [Verbose] > │ let v34 : string = v31 + v33 │
00:00:56 #1514 [Verbose] > │ v26.[int v29] <- v34 │
00:00:56 #1515 [Verbose] > │ let v35 : int32 = v29 + 1 │
00:00:56 #1516 [Verbose] > │ v27.l0 <- v35 │
00:00:56 #1517 [Verbose] > │ () │
00:00:56 #1518 [Verbose] > │ let v36 : string = " " │
00:00:56 #1519 [Verbose] > │ let v37 : string = v26 |> String.concat v36 │
00:00:56 #1520 [Verbose] > │ v37 │
00:00:56 #1521 [Verbose] > │ and method6 (v0 : float, v1 : float) : UH1 = │
00:00:56 #1522 [Verbose] > │ let v2 : bool = v1 < v0 │
00:00:56 #1523 [Verbose] > │ if v2 then │
00:00:56 #1524 [Verbose] > │ let v3 : int32 = int32 v1 │
00:00:56 #1525 [Verbose] > │ let v4 : int32 = 1 + v3 │
00:00:56 #1526 [Verbose] > │ let v5 : float = v1 + 1.0 │
00:00:56 #1527 [Verbose] > │ let v6 : UH1 = method6(v0, v5) │
00:00:56 #1528 [Verbose] > │ UH1_0(v4, v6) │
00:00:56 #1529 [Verbose] > │ else │
00:00:56 #1530 [Verbose] > │ UH1_1 │
00:00:56 #1531 [Verbose] > │ and method7 (v0 : UH1, v1 : UH1) : UH1 = │
00:00:56 #1532 [Verbose] > │ match v0 with │
00:00:56 #1533 [Verbose] > │ | UH1_0(v2, v3) -> (* Cons *) │
00:00:56 #1534 [Verbose] > │ let v4 : UH1 = method7(v3, v1) │
00:00:56 #1535 [Verbose] > │ UH1_0(v2, v4) │
00:00:56 #1536 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:56 #1537 [Verbose] > │ v1 │
00:00:56 #1538 [Verbose] > │ and method8 (v0 : string, v1 : int32, v2 : UH1, v3 : UH2) : UH2 = │
00:00:56 #1539 [Verbose] > │ match v2 with │
00:00:56 #1540 [Verbose] > │ | UH1_0(v4, v5) -> (* Cons *) │
00:00:56 #1541 [Verbose] > │ let v6 : UH2 = method8(v0, v1, v5, v3) │
00:00:56 #1542 [Verbose] > │ let v7 : int32 = v1 - 1 │
00:00:56 #1543 [Verbose] > │ let v8 : string = v0.[int v4..int v7] │
00:00:56 #1544 [Verbose] > │ let v9 : bool = v4 = 0 │
00:00:56 #1545 [Verbose] > │ let v13 : string = │
00:00:56 #1546 [Verbose] > │ if v9 then │
00:00:56 #1547 [Verbose] > │ let v10 : string = "" │
00:00:56 #1548 [Verbose] > │ v10 │
00:00:56 #1549 [Verbose] > │ else │
00:00:56 #1550 [Verbose] > │ let v11 : int32 = v4 - 1 │
00:00:56 #1551 [Verbose] > │ let v12 : string = v0.[int 0..int v11] │
00:00:56 #1552 [Verbose] > │ v12 │
00:00:56 #1553 [Verbose] > │ let v14 : string = v8 + v13 │
00:00:56 #1554 [Verbose] > │ UH2_0(v14, v6) │
00:00:56 #1555 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:00:56 #1556 [Verbose] > │ v3 │
00:00:56 #1557 [Verbose] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
00:00:56 #1558 [Verbose] > │ match v0 with │
00:00:56 #1559 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:56 #1560 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:00:56 #1561 [Verbose] > │ method10(v3, v4) │
00:00:56 #1562 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:56 #1563 [Verbose] > │ v1 │
00:00:56 #1564 [Verbose] > │ and method11 (v0 : (string []), v1 : UH2, v2 : int32) : int32 = │
00:00:56 #1565 [Verbose] > │ match v1 with │
00:00:56 #1566 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:56 #1567 [Verbose] > │ v0.[int v2] <- v3 │
00:00:56 #1568 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:56 #1569 [Verbose] > │ method11(v0, v4, v5) │
00:00:56 #1570 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:56 #1571 [Verbose] > │ v2 │
00:00:56 #1572 [Verbose] > │ and method9 (v0 : UH2) : (string []) = │
00:00:56 #1573 [Verbose] > │ let v1 : int32 = 0 │
00:00:56 #1574 [Verbose] > │ let v2 : int32 = method10(v0, v1) │
00:00:56 #1575 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> (v2) │
00:00:56 #1576 [Verbose] > │ let v4 : int32 = 0 │
00:00:56 #1577 [Verbose] > │ let v5 : int32 = method11(v3, v0, v4) │
00:00:56 #1578 [Verbose] > │ v3 │
00:00:56 #1579 [Verbose] > │ and closure2 () (v0 : string) : string = │
00:00:56 #1580 [Verbose] > │ let v1 : int32 = v0.Length │
00:00:56 #1581 [Verbose] > │ let v2 : int32 = v1 - 1 │
00:00:56 #1582 [Verbose] > │ let v3 : int32 = v2 - 1 │
00:00:56 #1583 [Verbose] > │ let v4 : float = float v3 │
00:00:56 #1584 [Verbose] > │ let v5 : float = v4 + 1.0 │
00:00:56 #1585 [Verbose] > │ let v6 : float = 0.0 │
00:00:56 #1586 [Verbose] > │ let v7 : UH1 = method6(v5, v6) │
00:00:56 #1587 [Verbose] > │ let v8 : int32 = 0 │
00:00:56 #1588 [Verbose] > │ let v9 : UH1 = UH1_1 │
00:00:56 #1589 [Verbose] > │ let v10 : UH1 = UH1_0(v8, v9) │
00:00:56 #1590 [Verbose] > │ let v11 : UH1 = method7(v7, v10) │
00:00:56 #1591 [Verbose] > │ let v12 : UH2 = UH2_1 │
00:00:56 #1592 [Verbose] > │ let v13 : UH2 = method8(v0, v1, v11, v12) │
00:00:56 #1593 [Verbose] > │ let v14 : (string []) = method9(v13) │
00:00:56 #1594 [Verbose] > │ let v15 : string = " " │
00:00:56 #1595 [Verbose] > │ let v16 : string = v14 |> String.concat v15 │
00:00:56 #1596 [Verbose] > │ v16 │
00:00:56 #1597 [Verbose] > │ and method13 (v0 : UH3, v1 : uint64) : uint64 = │
00:00:56 #1598 [Verbose] > │ match v0 with │
00:00:56 #1599 [Verbose] > │ | UH3_0(v2, v3, v4, v5) -> (* Cons *) │
00:00:56 #1600 [Verbose] > │ let v6 : uint64 = v1 + 1UL │
00:00:56 #1601 [Verbose] > │ method13(v5, v6) │
00:00:56 #1602 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:56 #1603 [Verbose] > │ v1 │
00:00:56 #1604 [Verbose] > │ and method14 (v0 : (struct (int32 * string * (string -> string)) []), v1 : │
00:00:56 #1605 [Verbose] > │ UH3, v2 : uint64) : uint64 = │
00:00:56 #1606 [Verbose] > │ match v1 with │
00:00:56 #1607 [Verbose] > │ | UH3_0(v3, v4, v5, v6) -> (* Cons *) │
00:00:56 #1608 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5) │
00:00:56 #1609 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:56 #1610 [Verbose] > │ method14(v0, v6, v7) │
00:00:56 #1611 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:00:56 #1612 [Verbose] > │ v2 │
00:00:56 #1613 [Verbose] > │ and method12 (v0 : UH3) : (struct (int32 * string * (string -> string)) []) │
00:00:56 #1614 [Verbose] > │ = │
00:00:56 #1615 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:56 #1616 [Verbose] > │ let v2 : uint64 = method13(v0, v1) │
00:00:56 #1617 [Verbose] > │ let v3 : (struct (int32 * string * (string -> string)) []) = │
00:00:56 #1618 [Verbose] > │ Array.zeroCreate<struct (int32 * string * (string -> string))> │
00:00:56 #1619 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:56 #1620 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:56 #1621 [Verbose] > │ let v5 : uint64 = method14(v3, v0, v4) │
00:00:56 #1622 [Verbose] > │ v3 │
00:00:56 #1623 [Verbose] > │ and method15 (v0 : Mut1) : bool = │
00:00:56 #1624 [Verbose] > │ let v1 : int32 = v0.l0 │
00:00:56 #1625 [Verbose] > │ let v2 : bool = v1 < 2000001 │
00:00:56 #1626 [Verbose] > │ v2 │
00:00:56 #1627 [Verbose] > │ and closure3 (v0 : string, v1 : (string -> string)) (v2 : int32) : string = │
00:00:56 #1628 [Verbose] > │ v1 v0 │
00:00:56 #1629 [Verbose] > │ and method16 (v0 : string, v1 : (string []), v2 : uint64) : bool = │
00:00:56 #1630 [Verbose] > │ let v3 : uint64 = System.Convert.ToUInt64 v1.Length │
00:00:56 #1631 [Verbose] > │ let v4 : bool = v2 < v3 │
00:00:56 #1632 [Verbose] > │ if v4 then │
00:00:56 #1633 [Verbose] > │ let v5 : string = v1.[int v2] │
00:00:56 #1634 [Verbose] > │ let v6 : bool = v0 = v5 │
00:00:56 #1635 [Verbose] > │ if v6 then │
00:00:56 #1636 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:00:56 #1637 [Verbose] > │ method16(v0, v1, v7) │
00:00:56 #1638 [Verbose] > │ else │
00:00:56 #1639 [Verbose] > │ false │
00:00:56 #1640 [Verbose] > │ else │
00:00:56 #1641 [Verbose] > │ true │
00:00:56 #1642 [Verbose] > │ and method17 (v0 : uint64, v1 : Mut2) : bool = │
00:00:56 #1643 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:56 #1644 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:56 #1645 [Verbose] > │ v3 │
00:00:56 #1646 [Verbose] > │ and method18 (v0 : UH4, v1 : UH4) : UH4 = │
00:00:56 #1647 [Verbose] > │ match v0 with │
00:00:56 #1648 [Verbose] > │ | UH4_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1649 [Verbose] > │ let v5 : UH4 = UH4_0(v2, v3, v1) │
00:00:56 #1650 [Verbose] > │ method18(v4, v5) │
00:00:56 #1651 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:56 #1652 [Verbose] > │ v1 │
00:00:56 #1653 [Verbose] > │ and method20 (v0 : UH4, v1 : int32) : int32 = │
00:00:56 #1654 [Verbose] > │ match v0 with │
00:00:56 #1655 [Verbose] > │ | UH4_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1656 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:56 #1657 [Verbose] > │ method20(v4, v5) │
00:00:56 #1658 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:56 #1659 [Verbose] > │ v1 │
00:00:56 #1660 [Verbose] > │ and method21 (v0 : (struct (int64 * int64) []), v1 : UH4, v2 : int32) : │
00:00:56 #1661 [Verbose] > │ int32 = │
00:00:56 #1662 [Verbose] > │ match v1 with │
00:00:56 #1663 [Verbose] > │ | UH4_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1664 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:56 #1665 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:56 #1666 [Verbose] > │ method21(v0, v5, v6) │
00:00:56 #1667 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:00:56 #1668 [Verbose] > │ v2 │
00:00:56 #1669 [Verbose] > │ and method19 (v0 : UH4) : (struct (int64 * int64) []) = │
00:00:56 #1670 [Verbose] > │ let v1 : int32 = 0 │
00:00:56 #1671 [Verbose] > │ let v2 : int32 = method20(v0, v1) │
00:00:56 #1672 [Verbose] > │ let v3 : (struct (int64 * int64) []) = Array.zeroCreate<struct (int64 * │
00:00:56 #1673 [Verbose] > │ int64)> (v2) │
00:00:56 #1674 [Verbose] > │ let v4 : int32 = 0 │
00:00:56 #1675 [Verbose] > │ let v5 : int32 = method21(v3, v0, v4) │
00:00:56 #1676 [Verbose] > │ v3 │
00:00:56 #1677 [Verbose] > │ and closure4 () struct (v0 : int64, v1 : int64) : int64 = │
00:00:56 #1678 [Verbose] > │ v1 │
00:00:56 #1679 [Verbose] > │ and method23 (v0 : UH5, v1 : uint64) : uint64 = │
00:00:56 #1680 [Verbose] > │ match v0 with │
00:00:56 #1681 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1682 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:56 #1683 [Verbose] > │ method23(v4, v5) │
00:00:56 #1684 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:56 #1685 [Verbose] > │ v1 │
00:00:56 #1686 [Verbose] > │ and method24 (v0 : (struct (UH2 * US0) []), v1 : UH5, v2 : uint64) : uint64 │
00:00:56 #1687 [Verbose] > │ = │
00:00:56 #1688 [Verbose] > │ match v1 with │
00:00:56 #1689 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1690 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:56 #1691 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:56 #1692 [Verbose] > │ method24(v0, v5, v6) │
00:00:56 #1693 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:00:56 #1694 [Verbose] > │ v2 │
00:00:56 #1695 [Verbose] > │ and method22 (v0 : UH5) : (struct (UH2 * US0) []) = │
00:00:56 #1696 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:56 #1697 [Verbose] > │ let v2 : uint64 = method23(v0, v1) │
00:00:56 #1698 [Verbose] > │ let v3 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * US0)> │
00:00:56 #1699 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:56 #1700 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:56 #1701 [Verbose] > │ let v5 : uint64 = method24(v3, v0, v4) │
00:00:56 #1702 [Verbose] > │ v3 │
00:00:56 #1703 [Verbose] > │ and method26 (v0 : UH2, v1 : uint64) : uint64 = │
00:00:56 #1704 [Verbose] > │ match v0 with │
00:00:56 #1705 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:00:56 #1706 [Verbose] > │ let v4 : uint64 = v1 + 1UL │
00:00:56 #1707 [Verbose] > │ method26(v3, v4) │
00:00:56 #1708 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:56 #1709 [Verbose] > │ v1 │
00:00:56 #1710 [Verbose] > │ and method27 (v0 : (string []), v1 : UH2, v2 : uint64) : uint64 = │
00:00:56 #1711 [Verbose] > │ match v1 with │
00:00:56 #1712 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:56 #1713 [Verbose] > │ v0.[int v2] <- v3 │
00:00:56 #1714 [Verbose] > │ let v5 : uint64 = v2 + 1UL │
00:00:56 #1715 [Verbose] > │ method27(v0, v4, v5) │
00:00:56 #1716 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:56 #1717 [Verbose] > │ v2 │
00:00:56 #1718 [Verbose] > │ and method25 (v0 : UH2) : (string []) = │
00:00:56 #1719 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:56 #1720 [Verbose] > │ let v2 : uint64 = method26(v0, v1) │
00:00:56 #1721 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> │
00:00:56 #1722 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:00:56 #1723 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:56 #1724 [Verbose] > │ let v5 : uint64 = method27(v3, v0, v4) │
00:00:56 #1725 [Verbose] > │ v3 │
00:00:56 #1726 [Verbose] > │ and closure5 () (v0 : int64) : US1 = │
00:00:56 #1727 [Verbose] > │ US1_1(v0) │
00:00:56 #1728 [Verbose] > │ and method28 (v0 : uint64, v1 : Mut3) : bool = │
00:00:56 #1729 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:00:56 #1730 [Verbose] > │ let v3 : bool = v2 < v0 │
00:00:56 #1731 [Verbose] > │ v3 │
00:00:56 #1732 [Verbose] > │ and method29 (v0 : UH6, v1 : UH6) : UH6 = │
00:00:56 #1733 [Verbose] > │ match v0 with │
00:00:56 #1734 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1735 [Verbose] > │ let v5 : UH6 = UH6_0(v2, v3, v1) │
00:00:56 #1736 [Verbose] > │ method29(v4, v5) │
00:00:56 #1737 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:56 #1738 [Verbose] > │ v1 │
00:00:56 #1739 [Verbose] > │ and method31 (v0 : UH6, v1 : int32) : int32 = │
00:00:56 #1740 [Verbose] > │ match v0 with │
00:00:56 #1741 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1742 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:00:56 #1743 [Verbose] > │ method31(v4, v5) │
00:00:56 #1744 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:56 #1745 [Verbose] > │ v1 │
00:00:56 #1746 [Verbose] > │ and method32 (v0 : (struct (int32 * int64) []), v1 : UH6, v2 : int32) : │
00:00:56 #1747 [Verbose] > │ int32 = │
00:00:56 #1748 [Verbose] > │ match v1 with │
00:00:56 #1749 [Verbose] > │ | UH6_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1750 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:56 #1751 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:00:56 #1752 [Verbose] > │ method32(v0, v5, v6) │
00:00:56 #1753 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:56 #1754 [Verbose] > │ v2 │
00:00:56 #1755 [Verbose] > │ and method30 (v0 : UH6) : (struct (int32 * int64) []) = │
00:00:56 #1756 [Verbose] > │ let v1 : int32 = 0 │
00:00:56 #1757 [Verbose] > │ let v2 : int32 = method31(v0, v1) │
00:00:56 #1758 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:56 #1759 [Verbose] > │ int64)> (v2) │
00:00:56 #1760 [Verbose] > │ let v4 : int32 = 0 │
00:00:56 #1761 [Verbose] > │ let v5 : int32 = method32(v3, v0, v4) │
00:00:56 #1762 [Verbose] > │ v3 │
00:00:56 #1763 [Verbose] > │ and method33 (v0 : UH2, v1 : UH7, v2 : int32) : struct (UH7 * int32) = │
00:00:56 #1764 [Verbose] > │ match v0 with │
00:00:56 #1765 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:00:56 #1766 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:00:56 #1767 [Verbose] > │ let v6 : UH7 = UH7_0(v2, v3, v1) │
00:00:56 #1768 [Verbose] > │ method33(v4, v6, v5) │
00:00:56 #1769 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:00:56 #1770 [Verbose] > │ struct (v1, v2) │
00:00:56 #1771 [Verbose] > │ and method34 (v0 : UH7, v1 : UH7) : UH7 = │
00:00:56 #1772 [Verbose] > │ match v0 with │
00:00:56 #1773 [Verbose] > │ | UH7_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1774 [Verbose] > │ let v5 : UH7 = UH7_0(v2, v3, v1) │
00:00:56 #1775 [Verbose] > │ method34(v4, v5) │
00:00:56 #1776 [Verbose] > │ | UH7_1 -> (* Nil *) │
00:00:56 #1777 [Verbose] > │ v1 │
00:00:56 #1778 [Verbose] > │ and method35 (v0 : Map<int32, int64>, v1 : UH7, v2 : UH2) : UH2 = │
00:00:56 #1779 [Verbose] > │ match v1 with │
00:00:56 #1780 [Verbose] > │ | UH7_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1781 [Verbose] > │ let v6 : UH2 = method35(v0, v5, v2) │
00:00:56 #1782 [Verbose] > │ let v7 : int64 = v0.[v3] │
00:00:56 #1783 [Verbose] > │ let v8 : int32 = int32 v7 │
00:00:56 #1784 [Verbose] > │ let v9 : string = v4.PadRight v8 │
00:00:56 #1785 [Verbose] > │ UH2_0(v9, v6) │
00:00:56 #1786 [Verbose] > │ | UH7_1 -> (* Nil *) │
00:00:56 #1787 [Verbose] > │ v2 │
00:00:56 #1788 [Verbose] > │ and method37 (v0 : UH6, v1 : uint64) : uint64 = │
00:00:56 #1789 [Verbose] > │ match v0 with │
00:00:56 #1790 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:00:56 #1791 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:00:56 #1792 [Verbose] > │ method37(v4, v5) │
00:00:56 #1793 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:56 #1794 [Verbose] > │ v1 │
00:00:56 #1795 [Verbose] > │ and method38 (v0 : (struct (int32 * int64) []), v1 : UH6, v2 : uint64) : │
00:00:56 #1796 [Verbose] > │ uint64 = │
00:00:56 #1797 [Verbose] > │ match v1 with │
00:00:56 #1798 [Verbose] > │ | UH6_0(v3, v4, v5) -> (* Cons *) │
00:00:56 #1799 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:00:56 #1800 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:00:56 #1801 [Verbose] > │ method38(v0, v5, v6) │
00:00:56 #1802 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:00:56 #1803 [Verbose] > │ v2 │
00:00:56 #1804 [Verbose] > │ and method36 (v0 : UH6) : (struct (int32 * int64) []) = │
00:00:56 #1805 [Verbose] > │ let v1 : uint64 = 0UL │
00:00:56 #1806 [Verbose] > │ let v2 : uint64 = method37(v0, v1) │
00:00:56 #1807 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:00:56 #1808 [Verbose] > │ int64)> (System.Convert.ToInt32(v2)) │
00:00:56 #1809 [Verbose] > │ let v4 : uint64 = 0UL │
00:00:56 #1810 [Verbose] > │ let v5 : uint64 = method38(v3, v0, v4) │
00:00:56 #1811 [Verbose] > │ v3 │
00:00:56 #1812 [Verbose] > │ and closure6 () struct (v0 : int32, v1 : int64) : int64 = │
00:00:56 #1813 [Verbose] > │ v1 │
00:00:56 #1814 [Verbose] > │ and closure0 () () : unit = │
00:00:56 #1815 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:56 #1816 [Verbose] > │ let v1 : string = nameof v0 │
00:00:56 #1817 [Verbose] > │ let v2 : string = "" │
00:00:56 #1818 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #1819 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #1820 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:56 #1821 [Verbose] > │ System.Console.WriteLine v3 │
00:00:56 #1822 [Verbose] > │ let v4 : string = "abc" │
00:00:56 #1823 [Verbose] > │ let v5 : string = "bca cab abc" │
00:00:56 #1824 [Verbose] > │ let v6 : string = "abcde" │
00:00:56 #1825 [Verbose] > │ let v7 : string = "bcdea cdeab deabc eabcd abcde" │
00:00:56 #1826 [Verbose] > │ let v8 : string = "abcdefghi" │
00:00:56 #1827 [Verbose] > │ let v9 : string = "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde │
00:00:56 #1828 [Verbose] > │ ghiabcdef hiabcdefg iabcdefgh abcdefghi" │
00:00:56 #1829 [Verbose] > │ let v10 : string = "abab" │
00:00:56 #1830 [Verbose] > │ let v11 : string = "baba abab baba abab" │
00:00:56 #1831 [Verbose] > │ let v12 : string = "aa" │
00:00:56 #1832 [Verbose] > │ let v13 : string = "aa aa" │
00:00:56 #1833 [Verbose] > │ let v14 : string = "z" │
00:00:56 #1834 [Verbose] > │ let v15 : UH0 = UH0_1 │
00:00:56 #1835 [Verbose] > │ let v16 : UH0 = UH0_0(v14, v14, v15) │
00:00:56 #1836 [Verbose] > │ let v17 : UH0 = UH0_0(v12, v13, v16) │
00:00:56 #1837 [Verbose] > │ let v18 : UH0 = UH0_0(v10, v11, v17) │
00:00:56 #1838 [Verbose] > │ let v19 : UH0 = UH0_0(v8, v9, v18) │
00:00:56 #1839 [Verbose] > │ let v20 : UH0 = UH0_0(v6, v7, v19) │
00:00:56 #1840 [Verbose] > │ let v21 : UH0 = UH0_0(v4, v5, v20) │
00:00:56 #1841 [Verbose] > │ let v22 : (struct (string * string) []) = method1(v21) │
00:00:56 #1842 [Verbose] > │ let v23 : uint64 = System.Convert.ToUInt64 v22.Length │
00:00:56 #1843 [Verbose] > │ let v24 : (struct (string * string * string * (int64 [])) []) = │
00:00:56 #1844 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:56 #1845 [Verbose] > │ (System.Convert.ToInt32(v23)) │
00:00:56 #1846 [Verbose] > │ let v25 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1847 [Verbose] > │ while method4(v23, v25) do │
00:00:56 #1848 [Verbose] > │ let v27 : uint64 = v25.l0 │
00:00:56 #1849 [Verbose] > │ let struct (v28 : string, v29 : string) = v22.[int v27] │
00:00:56 #1850 [Verbose] > │ let v30 : string = $"%A{v28}" │
00:00:56 #1851 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #1852 [Verbose] > │ let v31 : string = $"Solution: {v30} " │
00:00:56 #1853 [Verbose] > │ System.Console.WriteLine v31 │
00:00:56 #1854 [Verbose] > │ let v32 : int32 = 0 │
00:00:56 #1855 [Verbose] > │ let v33 : string = "F" │
00:00:56 #1856 [Verbose] > │ let v34 : (string -> string) = closure1() │
00:00:56 #1857 [Verbose] > │ let v35 : int32 = 1 │
00:00:56 #1858 [Verbose] > │ let v36 : string = "FA" │
00:00:56 #1859 [Verbose] > │ let v37 : (string -> string) = closure2() │
00:00:56 #1860 [Verbose] > │ let v38 : UH3 = UH3_1 │
00:00:56 #1861 [Verbose] > │ let v39 : UH3 = UH3_0(v35, v36, v37, v38) │
00:00:56 #1862 [Verbose] > │ let v40 : UH3 = UH3_0(v32, v33, v34, v39) │
00:00:56 #1863 [Verbose] > │ let v41 : (struct (int32 * string * (string -> string)) []) = │
00:00:56 #1864 [Verbose] > │ method12(v40) │
00:00:56 #1865 [Verbose] > │ let v42 : uint64 = System.Convert.ToUInt64 v41.Length │
00:00:56 #1866 [Verbose] > │ let v43 : (struct (string * int64) []) = Array.zeroCreate<struct │
00:00:56 #1867 [Verbose] > │ (string * int64)> (System.Convert.ToInt32(v42)) │
00:00:56 #1868 [Verbose] > │ let v44 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1869 [Verbose] > │ while method4(v42, v44) do │
00:00:56 #1870 [Verbose] > │ let v46 : uint64 = v44.l0 │
00:00:56 #1871 [Verbose] > │ let struct (v47 : int32, v48 : string, v49 : (string -> string)) │
00:00:56 #1872 [Verbose] > │ = v41.[int v46] │
00:00:56 #1873 [Verbose] > │ let mutable result = None │
00:00:56 #1874 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:56 #1875 [Verbose] > │ #if !WASM │
00:00:56 #1876 [Verbose] > │ () │
00:00:56 #1877 [Verbose] > │ #else │
00:00:56 #1878 [Verbose] > │ () │
00:00:56 #1879 [Verbose] > │ #endif │
00:00:56 #1880 [Verbose] > │ #else │
00:00:56 #1881 [Verbose] > │ System.GC.Collect () │
00:00:56 #1882 [Verbose] > │ () │
00:00:56 #1883 [Verbose] > │ #endif │
00:00:56 #1884 [Verbose] > │ |> fun x -> result <- Some x │
00:00:56 #1885 [Verbose] > │ result |> Option.get │
00:00:56 #1886 [Verbose] > │ let v50 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:56 #1887 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:56 #1888 [Verbose] > │ let v51 : System.Diagnostics.Stopwatch = v50 () │
00:00:56 #1889 [Verbose] > │ v51.Start () │
00:00:56 #1890 [Verbose] > │ let v52 : int64 = v51.ElapsedMilliseconds │
00:00:56 #1891 [Verbose] > │ let v53 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:56 #1892 [Verbose] > │ let v54 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #1893 [Verbose] > │ while method15(v54) do │
00:00:56 #1894 [Verbose] > │ let v56 : int32 = v54.l0 │
00:00:56 #1895 [Verbose] > │ v53.[int v56] <- v56 │
00:00:56 #1896 [Verbose] > │ let v57 : int32 = v56 + 1 │
00:00:56 #1897 [Verbose] > │ v54.l0 <- v57 │
00:00:56 #1898 [Verbose] > │ () │
00:00:56 #1899 [Verbose] > │ let v58 : (int32 -> string) = closure3(v28, v49) │
00:00:56 #1900 [Verbose] > │ let v59 : (string []) = v53 |> Array.Parallel.map v58 │
00:00:56 #1901 [Verbose] > │ let v60 : int32 = v59.Length │
00:00:56 #1902 [Verbose] > │ let v61 : int32 = v60 - 1 │
00:00:56 #1903 [Verbose] > │ let v62 : string = v59.[int v61] │
00:00:56 #1904 [Verbose] > │ let v63 : int64 = v51.ElapsedMilliseconds │
00:00:56 #1905 [Verbose] > │ let v64 : int64 = v63 - v52 │
00:00:56 #1906 [Verbose] > │ let v65 : string = $"Test case {v47 + 1}. {v48}. Time: {v64} " │
00:00:56 #1907 [Verbose] > │ System.Console.WriteLine v65 │
00:00:56 #1908 [Verbose] > │ v43.[int v46] <- struct (v62, v64) │
00:00:56 #1909 [Verbose] > │ let v66 : uint64 = v46 + 1UL │
00:00:56 #1910 [Verbose] > │ v44.l0 <- v66 │
00:00:56 #1911 [Verbose] > │ () │
00:00:56 #1912 [Verbose] > │ let v67 : uint64 = System.Convert.ToUInt64 v43.Length │
00:00:56 #1913 [Verbose] > │ let v68 : (string []) = Array.zeroCreate<string> │
00:00:56 #1914 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:56 #1915 [Verbose] > │ let v69 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1916 [Verbose] > │ while method4(v67, v69) do │
00:00:56 #1917 [Verbose] > │ let v71 : uint64 = v69.l0 │
00:00:56 #1918 [Verbose] > │ let struct (v72 : string, v73 : int64) = v43.[int v71] │
00:00:56 #1919 [Verbose] > │ v68.[int v71] <- v72 │
00:00:56 #1920 [Verbose] > │ let v74 : uint64 = v71 + 1UL │
00:00:56 #1921 [Verbose] > │ v69.l0 <- v74 │
00:00:56 #1922 [Verbose] > │ () │
00:00:56 #1923 [Verbose] > │ let v75 : uint64 = System.Convert.ToUInt64 v68.Length │
00:00:56 #1924 [Verbose] > │ let v76 : bool = v75 <= 1UL │
00:00:56 #1925 [Verbose] > │ if v76 then │
00:00:56 #1926 [Verbose] > │ () │
00:00:56 #1927 [Verbose] > │ else │
00:00:56 #1928 [Verbose] > │ let v77 : string = v68.[int 0UL] │
00:00:56 #1929 [Verbose] > │ let v78 : uint64 = 0UL │
00:00:56 #1930 [Verbose] > │ let v79 : bool = method16(v77, v68, v78) │
00:00:56 #1931 [Verbose] > │ if v79 then │
00:00:56 #1932 [Verbose] > │ () │
00:00:56 #1933 [Verbose] > │ else │
00:00:56 #1934 [Verbose] > │ let v80 : string = $"Challenge error: {v68}" │
00:00:56 #1935 [Verbose] > │ failwith<unit> v80 │
00:00:56 #1936 [Verbose] > │ let v81 : string = $"%A{v29}" │
00:00:56 #1937 [Verbose] > │ let v82 : (string []) = Array.zeroCreate<string> │
00:00:56 #1938 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:56 #1939 [Verbose] > │ let v83 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1940 [Verbose] > │ while method4(v67, v83) do │
00:00:56 #1941 [Verbose] > │ let v85 : uint64 = v83.l0 │
00:00:56 #1942 [Verbose] > │ let struct (v86 : string, v87 : int64) = v43.[int v85] │
00:00:56 #1943 [Verbose] > │ v82.[int v85] <- v86 │
00:00:56 #1944 [Verbose] > │ let v88 : uint64 = v85 + 1UL │
00:00:56 #1945 [Verbose] > │ v83.l0 <- v88 │
00:00:56 #1946 [Verbose] > │ () │
00:00:56 #1947 [Verbose] > │ let v89 : string = v82.[int 0UL] │
00:00:56 #1948 [Verbose] > │ let v90 : string = $"%A{v89}" │
00:00:56 #1949 [Verbose] > │ let v91 : (int64 []) = Array.zeroCreate<int64> │
00:00:56 #1950 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:56 #1951 [Verbose] > │ let v92 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1952 [Verbose] > │ while method4(v67, v92) do │
00:00:56 #1953 [Verbose] > │ let v94 : uint64 = v92.l0 │
00:00:56 #1954 [Verbose] > │ let struct (v95 : string, v96 : int64) = v43.[int v94] │
00:00:56 #1955 [Verbose] > │ v91.[int v94] <- v96 │
00:00:56 #1956 [Verbose] > │ let v97 : uint64 = v94 + 1UL │
00:00:56 #1957 [Verbose] > │ v92.l0 <- v97 │
00:00:56 #1958 [Verbose] > │ () │
00:00:56 #1959 [Verbose] > │ v24.[int v27] <- struct (v81, v30, v90, v91) │
00:00:56 #1960 [Verbose] > │ let v98 : uint64 = v27 + 1UL │
00:00:56 #1961 [Verbose] > │ v25.l0 <- v98 │
00:00:56 #1962 [Verbose] > │ () │
00:00:56 #1963 [Verbose] > │ let v99 : uint64 = System.Convert.ToUInt64 v24.Length │
00:00:56 #1964 [Verbose] > │ let v100 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:56 #1965 [Verbose] > │ US0)> (System.Convert.ToInt32(v99)) │
00:00:56 #1966 [Verbose] > │ let v101 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #1967 [Verbose] > │ while method4(v99, v101) do │
00:00:56 #1968 [Verbose] > │ let v103 : uint64 = v101.l0 │
00:00:56 #1969 [Verbose] > │ let struct (v104 : string, v105 : string, v106 : string, v107 : │
00:00:56 #1970 [Verbose] > │ (int64 [])) = v24.[int v103] │
00:00:56 #1971 [Verbose] > │ let v108 : uint64 = System.Convert.ToUInt64 v107.Length │
00:00:56 #1972 [Verbose] > │ let v109 : UH4 = UH4_1 │
00:00:56 #1973 [Verbose] > │ let v110 : Mut2 = {l0 = 0UL; l1 = v109; l2 = 0L} : Mut2 │
00:00:56 #1974 [Verbose] > │ while method17(v108, v110) do │
00:00:56 #1975 [Verbose] > │ let v112 : uint64 = v110.l0 │
00:00:56 #1976 [Verbose] > │ let struct (v113 : UH4, v114 : int64) = v110.l1, v110.l2 │
00:00:56 #1977 [Verbose] > │ let v115 : int64 = v107.[int v112] │
00:00:56 #1978 [Verbose] > │ let v116 : int64 = v114 + 1L │
00:00:56 #1979 [Verbose] > │ let v117 : uint64 = v112 + 1UL │
00:00:56 #1980 [Verbose] > │ let v118 : UH4 = UH4_0(v114, v115, v113) │
00:00:56 #1981 [Verbose] > │ v110.l0 <- v117 │
00:00:56 #1982 [Verbose] > │ v110.l1 <- v118 │
00:00:56 #1983 [Verbose] > │ v110.l2 <- v116 │
00:00:56 #1984 [Verbose] > │ () │
00:00:56 #1985 [Verbose] > │ let struct (v119 : UH4, v120 : int64) = v110.l1, v110.l2 │
00:00:56 #1986 [Verbose] > │ let v121 : UH4 = UH4_1 │
00:00:56 #1987 [Verbose] > │ let v122 : UH4 = method18(v119, v121) │
00:00:56 #1988 [Verbose] > │ let v123 : (struct (int64 * int64) []) = method19(v122) │
00:00:56 #1989 [Verbose] > │ let v124 : int32 = v123.Length │
00:00:56 #1990 [Verbose] > │ let v125 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:56 #1991 [Verbose] > │ (int64 * int64)> (v124) │
00:00:56 #1992 [Verbose] > │ let v126 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #1993 [Verbose] > │ while method5(v124, v126) do │
00:00:56 #1994 [Verbose] > │ let v128 : int32 = v126.l0 │
00:00:56 #1995 [Verbose] > │ let struct (v129 : int64, v130 : int64) = v123.[int v128] │
00:00:56 #1996 [Verbose] > │ let v131 : int64 = v129 + 1L │
00:00:56 #1997 [Verbose] > │ v125.[int v128] <- struct (v131, v130) │
00:00:56 #1998 [Verbose] > │ let v132 : int32 = v128 + 1 │
00:00:56 #1999 [Verbose] > │ v126.l0 <- v132 │
00:00:56 #2000 [Verbose] > │ () │
00:00:56 #2001 [Verbose] > │ let v133 : (struct (int64 * int64) -> int64) = closure4() │
00:00:56 #2002 [Verbose] > │ let v134 : (struct (int64 * int64) []) = v125 |> Array.sortBy v133 │
00:00:56 #2003 [Verbose] > │ let struct (v135 : int64, v136 : int64) = v134.[int 0] │
00:00:56 #2004 [Verbose] > │ let v137 : string = $"%A{struct (v135, v136)}" │
00:00:56 #2005 [Verbose] > │ let v138 : bool = v104 = v106 │
00:00:56 #2006 [Verbose] > │ let v143 : US0 = │
00:00:56 #2007 [Verbose] > │ if v138 then │
00:00:56 #2008 [Verbose] > │ let v139 : System.ConsoleColor = │
00:00:56 #2009 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:56 #2010 [Verbose] > │ US0_1(v139) │
00:00:56 #2011 [Verbose] > │ else │
00:00:56 #2012 [Verbose] > │ let v141 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:56 #2013 [Verbose] > │ US0_1(v141) │
00:00:56 #2014 [Verbose] > │ let v144 : UH2 = UH2_1 │
00:00:56 #2015 [Verbose] > │ let v145 : UH2 = UH2_0(v137, v144) │
00:00:56 #2016 [Verbose] > │ let v146 : UH2 = UH2_0(v106, v145) │
00:00:56 #2017 [Verbose] > │ let v147 : UH2 = UH2_0(v104, v146) │
00:00:56 #2018 [Verbose] > │ let v148 : UH2 = UH2_0(v105, v147) │
00:00:56 #2019 [Verbose] > │ v100.[int v103] <- struct (v148, v143) │
00:00:56 #2020 [Verbose] > │ let v149 : uint64 = v103 + 1UL │
00:00:56 #2021 [Verbose] > │ v101.l0 <- v149 │
00:00:56 #2022 [Verbose] > │ () │
00:00:56 #2023 [Verbose] > │ let v150 : string = "Input" │
00:00:56 #2024 [Verbose] > │ let v151 : string = "Expected" │
00:00:56 #2025 [Verbose] > │ let v152 : string = "Result" │
00:00:56 #2026 [Verbose] > │ let v153 : string = "Best" │
00:00:56 #2027 [Verbose] > │ let v154 : UH2 = UH2_1 │
00:00:56 #2028 [Verbose] > │ let v155 : UH2 = UH2_0(v153, v154) │
00:00:56 #2029 [Verbose] > │ let v156 : UH2 = UH2_0(v152, v155) │
00:00:56 #2030 [Verbose] > │ let v157 : UH2 = UH2_0(v151, v156) │
00:00:56 #2031 [Verbose] > │ let v158 : UH2 = UH2_0(v150, v157) │
00:00:56 #2032 [Verbose] > │ let v159 : US0 = US0_0 │
00:00:56 #2033 [Verbose] > │ let v160 : string = "---" │
00:00:56 #2034 [Verbose] > │ let v161 : UH2 = UH2_1 │
00:00:56 #2035 [Verbose] > │ let v162 : UH2 = UH2_0(v160, v161) │
00:00:56 #2036 [Verbose] > │ let v163 : UH2 = UH2_0(v160, v162) │
00:00:56 #2037 [Verbose] > │ let v164 : UH2 = UH2_0(v160, v163) │
00:00:56 #2038 [Verbose] > │ let v165 : UH2 = UH2_0(v160, v164) │
00:00:56 #2039 [Verbose] > │ let v166 : US0 = US0_0 │
00:00:56 #2040 [Verbose] > │ let v167 : UH5 = UH5_1 │
00:00:56 #2041 [Verbose] > │ let v168 : UH5 = UH5_0(v165, v166, v167) │
00:00:56 #2042 [Verbose] > │ let v169 : UH5 = UH5_0(v158, v159, v168) │
00:00:56 #2043 [Verbose] > │ let v170 : (struct (UH2 * US0) []) = method22(v169) │
00:00:56 #2044 [Verbose] > │ let v171 : uint64 = System.Convert.ToUInt64 v170.Length │
00:00:56 #2045 [Verbose] > │ let v172 : uint64 = System.Convert.ToUInt64 v100.Length │
00:00:56 #2046 [Verbose] > │ let v173 : uint64 = v171 + v172 │
00:00:56 #2047 [Verbose] > │ let v174 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:56 #2048 [Verbose] > │ US0)> (System.Convert.ToInt32(v173)) │
00:00:56 #2049 [Verbose] > │ let v175 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2050 [Verbose] > │ while method4(v173, v175) do │
00:00:56 #2051 [Verbose] > │ let v177 : uint64 = v175.l0 │
00:00:56 #2052 [Verbose] > │ let v178 : bool = v177 < v171 │
00:00:56 #2053 [Verbose] > │ let struct (v184 : UH2, v185 : US0) = │
00:00:56 #2054 [Verbose] > │ if v178 then │
00:00:56 #2055 [Verbose] > │ let struct (v179 : UH2, v180 : US0) = v170.[int v177] │
00:00:56 #2056 [Verbose] > │ struct (v179, v180) │
00:00:56 #2057 [Verbose] > │ else │
00:00:56 #2058 [Verbose] > │ let v181 : uint64 = v177 - v171 │
00:00:56 #2059 [Verbose] > │ let struct (v182 : UH2, v183 : US0) = v100.[int v181] │
00:00:56 #2060 [Verbose] > │ struct (v182, v183) │
00:00:56 #2061 [Verbose] > │ v174.[int v177] <- struct (v184, v185) │
00:00:56 #2062 [Verbose] > │ let v186 : uint64 = v177 + 1UL │
00:00:56 #2063 [Verbose] > │ v175.l0 <- v186 │
00:00:56 #2064 [Verbose] > │ () │
00:00:56 #2065 [Verbose] > │ let v187 : uint64 = System.Convert.ToUInt64 v174.Length │
00:00:56 #2066 [Verbose] > │ let v188 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:56 #2067 [Verbose] > │ (System.Convert.ToInt32(v187)) │
00:00:56 #2068 [Verbose] > │ let v189 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2069 [Verbose] > │ while method4(v187, v189) do │
00:00:56 #2070 [Verbose] > │ let v191 : uint64 = v189.l0 │
00:00:56 #2071 [Verbose] > │ let struct (v192 : UH2, v193 : US0) = v174.[int v191] │
00:00:56 #2072 [Verbose] > │ let v194 : (string []) = method25(v192) │
00:00:56 #2073 [Verbose] > │ v188.[int v191] <- v194 │
00:00:56 #2074 [Verbose] > │ let v195 : uint64 = v191 + 1UL │
00:00:56 #2075 [Verbose] > │ v189.l0 <- v195 │
00:00:56 #2076 [Verbose] > │ () │
00:00:56 #2077 [Verbose] > │ let v196 : ((string []) []) = v188 |> Array.transpose │
00:00:56 #2078 [Verbose] > │ let v197 : uint64 = System.Convert.ToUInt64 v196.Length │
00:00:56 #2079 [Verbose] > │ let v198 : (int64 []) = Array.zeroCreate<int64> │
00:00:56 #2080 [Verbose] > │ (System.Convert.ToInt32(v197)) │
00:00:56 #2081 [Verbose] > │ let v199 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2082 [Verbose] > │ while method4(v197, v199) do │
00:00:56 #2083 [Verbose] > │ let v201 : uint64 = v199.l0 │
00:00:56 #2084 [Verbose] > │ let v202 : (string []) = v196.[int v201] │
00:00:56 #2085 [Verbose] > │ let v203 : uint64 = System.Convert.ToUInt64 v202.Length │
00:00:56 #2086 [Verbose] > │ let v204 : (int64 []) = Array.zeroCreate<int64> │
00:00:56 #2087 [Verbose] > │ (System.Convert.ToInt32(v203)) │
00:00:56 #2088 [Verbose] > │ let v205 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2089 [Verbose] > │ while method4(v203, v205) do │
00:00:56 #2090 [Verbose] > │ let v207 : uint64 = v205.l0 │
00:00:56 #2091 [Verbose] > │ let v208 : string = v202.[int v207] │
00:00:56 #2092 [Verbose] > │ let v209 : int64 = System.Convert.ToInt64 v208.Length │
00:00:56 #2093 [Verbose] > │ v204.[int v207] <- v209 │
00:00:56 #2094 [Verbose] > │ let v210 : uint64 = v207 + 1UL │
00:00:56 #2095 [Verbose] > │ v205.l0 <- v210 │
00:00:56 #2096 [Verbose] > │ () │
00:00:56 #2097 [Verbose] > │ let v211 : (int64 []) = v204 |> Array.sortDescending │
00:00:56 #2098 [Verbose] > │ let v212 : int64 option = v211 |> Array.tryItem 0 │
00:00:56 #2099 [Verbose] > │ let v213 : (int64 -> US1) = closure5() │
00:00:56 #2100 [Verbose] > │ let v214 : US1 = US1_0 │
00:00:56 #2101 [Verbose] > │ let v215 : US1 = v212 |> Option.map v213 |> Option.defaultValue v214 │
00:00:56 #2102 [Verbose] > │ let v218 : int64 = │
00:00:56 #2103 [Verbose] > │ match v215 with │
00:00:56 #2104 [Verbose] > │ | US1_0 -> (* None *) │
00:00:56 #2105 [Verbose] > │ 0L │
00:00:56 #2106 [Verbose] > │ | US1_1(v216) -> (* Some *) │
00:00:56 #2107 [Verbose] > │ v216 │
00:00:56 #2108 [Verbose] > │ v198.[int v201] <- v218 │
00:00:56 #2109 [Verbose] > │ let v219 : uint64 = v201 + 1UL │
00:00:56 #2110 [Verbose] > │ v199.l0 <- v219 │
00:00:56 #2111 [Verbose] > │ () │
00:00:56 #2112 [Verbose] > │ let v220 : uint64 = System.Convert.ToUInt64 v198.Length │
00:00:56 #2113 [Verbose] > │ let v221 : UH6 = UH6_1 │
00:00:56 #2114 [Verbose] > │ let v222 : Mut3 = {l0 = 0UL; l1 = v221; l2 = 0} : Mut3 │
00:00:56 #2115 [Verbose] > │ while method28(v220, v222) do │
00:00:56 #2116 [Verbose] > │ let v224 : uint64 = v222.l0 │
00:00:56 #2117 [Verbose] > │ let struct (v225 : UH6, v226 : int32) = v222.l1, v222.l2 │
00:00:56 #2118 [Verbose] > │ let v227 : int64 = v198.[int v224] │
00:00:56 #2119 [Verbose] > │ let v228 : int32 = v226 + 1 │
00:00:56 #2120 [Verbose] > │ let v229 : uint64 = v224 + 1UL │
00:00:56 #2121 [Verbose] > │ let v230 : UH6 = UH6_0(v226, v227, v225) │
00:00:56 #2122 [Verbose] > │ v222.l0 <- v229 │
00:00:56 #2123 [Verbose] > │ v222.l1 <- v230 │
00:00:56 #2124 [Verbose] > │ v222.l2 <- v228 │
00:00:56 #2125 [Verbose] > │ () │
00:00:56 #2126 [Verbose] > │ let struct (v231 : UH6, v232 : int32) = v222.l1, v222.l2 │
00:00:56 #2127 [Verbose] > │ let v233 : UH6 = UH6_1 │
00:00:56 #2128 [Verbose] > │ let v234 : UH6 = method29(v231, v233) │
00:00:56 #2129 [Verbose] > │ let v235 : (struct (int32 * int64) []) = method30(v234) │
00:00:56 #2130 [Verbose] > │ let v236 : Map<int32, int64> = v235 |> Array.map (fun (struct (a, b)) -> │
00:00:56 #2131 [Verbose] > │ a, b) |> Map.ofArray │
00:00:56 #2132 [Verbose] > │ let v237 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:56 #2133 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v187)) │
00:00:56 #2134 [Verbose] > │ let v238 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2135 [Verbose] > │ while method4(v187, v238) do │
00:00:56 #2136 [Verbose] > │ let v240 : uint64 = v238.l0 │
00:00:56 #2137 [Verbose] > │ let struct (v241 : UH2, v242 : US0) = v174.[int v240] │
00:00:56 #2138 [Verbose] > │ let v243 : UH7 = UH7_1 │
00:00:56 #2139 [Verbose] > │ let v244 : int32 = 0 │
00:00:56 #2140 [Verbose] > │ let struct (v245 : UH7, v246 : int32) = method33(v241, v243, v244) │
00:00:56 #2141 [Verbose] > │ let v247 : UH7 = UH7_1 │
00:00:56 #2142 [Verbose] > │ let v248 : UH7 = method34(v245, v247) │
00:00:56 #2143 [Verbose] > │ let v249 : UH2 = UH2_1 │
00:00:56 #2144 [Verbose] > │ let v250 : UH2 = method35(v236, v248, v249) │
00:00:56 #2145 [Verbose] > │ let v251 : (string []) = method9(v250) │
00:00:56 #2146 [Verbose] > │ v237.[int v240] <- struct (v251, v242) │
00:00:56 #2147 [Verbose] > │ let v252 : uint64 = v240 + 1UL │
00:00:56 #2148 [Verbose] > │ v238.l0 <- v252 │
00:00:56 #2149 [Verbose] > │ () │
00:00:56 #2150 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #2151 [Verbose] > │ let v253 : uint64 = System.Convert.ToUInt64 v237.Length │
00:00:56 #2152 [Verbose] > │ let v254 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2153 [Verbose] > │ while method4(v253, v254) do │
00:00:56 #2154 [Verbose] > │ let v256 : uint64 = v254.l0 │
00:00:56 #2155 [Verbose] > │ let struct (v257 : (string []), v258 : US0) = v237.[int v256] │
00:00:56 #2156 [Verbose] > │ match v258 with │
00:00:56 #2157 [Verbose] > │ | US0_0 -> (* None *) │
00:00:56 #2158 [Verbose] > │ let mutable result = None │
00:00:56 #2159 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:56 #2160 [Verbose] > │ #if !WASM │
00:00:56 #2161 [Verbose] > │ () │
00:00:56 #2162 [Verbose] > │ #else │
00:00:56 #2163 [Verbose] > │ () │
00:00:56 #2164 [Verbose] > │ #endif │
00:00:56 #2165 [Verbose] > │ #else │
00:00:56 #2166 [Verbose] > │ System.Console.ResetColor () │
00:00:56 #2167 [Verbose] > │ () │
00:00:56 #2168 [Verbose] > │ #endif │
00:00:56 #2169 [Verbose] > │ |> fun x -> result <- Some x │
00:00:56 #2170 [Verbose] > │ result |> Option.get │
00:00:56 #2171 [Verbose] > │ () │
00:00:56 #2172 [Verbose] > │ | US0_1(v259) -> (* Some *) │
00:00:56 #2173 [Verbose] > │ let mutable result = None │
00:00:56 #2174 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:56 #2175 [Verbose] > │ #if !WASM │
00:00:56 #2176 [Verbose] > │ () │
00:00:56 #2177 [Verbose] > │ #else │
00:00:56 #2178 [Verbose] > │ () │
00:00:56 #2179 [Verbose] > │ #endif │
00:00:56 #2180 [Verbose] > │ #else │
00:00:56 #2181 [Verbose] > │ System.Console.ForegroundColor <- v259 │
00:00:56 #2182 [Verbose] > │ () │
00:00:56 #2183 [Verbose] > │ #endif │
00:00:56 #2184 [Verbose] > │ |> fun x -> result <- Some x │
00:00:56 #2185 [Verbose] > │ result |> Option.get │
00:00:56 #2186 [Verbose] > │ () │
00:00:56 #2187 [Verbose] > │ let v260 : string = "\t| " │
00:00:56 #2188 [Verbose] > │ let v261 : string = System.String.Join (v260, v257) │
00:00:56 #2189 [Verbose] > │ System.Console.WriteLine v261 │
00:00:56 #2190 [Verbose] > │ let mutable result = None │
00:00:56 #2191 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:56 #2192 [Verbose] > │ #if !WASM │
00:00:56 #2193 [Verbose] > │ () │
00:00:56 #2194 [Verbose] > │ #else │
00:00:56 #2195 [Verbose] > │ () │
00:00:56 #2196 [Verbose] > │ #endif │
00:00:56 #2197 [Verbose] > │ #else │
00:00:56 #2198 [Verbose] > │ System.Console.ResetColor () │
00:00:56 #2199 [Verbose] > │ () │
00:00:56 #2200 [Verbose] > │ #endif │
00:00:56 #2201 [Verbose] > │ |> fun x -> result <- Some x │
00:00:56 #2202 [Verbose] > │ result |> Option.get │
00:00:56 #2203 [Verbose] > │ let v262 : uint64 = v256 + 1UL │
00:00:56 #2204 [Verbose] > │ v254.l0 <- v262 │
00:00:56 #2205 [Verbose] > │ () │
00:00:56 #2206 [Verbose] > │ let v263 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:56 #2207 [Verbose] > │ (System.Convert.ToInt32(v99)) │
00:00:56 #2208 [Verbose] > │ let v264 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2209 [Verbose] > │ while method4(v99, v264) do │
00:00:56 #2210 [Verbose] > │ let v266 : uint64 = v264.l0 │
00:00:56 #2211 [Verbose] > │ let struct (v267 : string, v268 : string, v269 : string, v270 : │
00:00:56 #2212 [Verbose] > │ (int64 [])) = v24.[int v266] │
00:00:56 #2213 [Verbose] > │ let v271 : (int64 -> float) = float │
00:00:56 #2214 [Verbose] > │ let v272 : uint64 = System.Convert.ToUInt64 v270.Length │
00:00:56 #2215 [Verbose] > │ let v273 : (float []) = Array.zeroCreate<float> │
00:00:56 #2216 [Verbose] > │ (System.Convert.ToInt32(v272)) │
00:00:56 #2217 [Verbose] > │ let v274 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2218 [Verbose] > │ while method4(v272, v274) do │
00:00:56 #2219 [Verbose] > │ let v276 : uint64 = v274.l0 │
00:00:56 #2220 [Verbose] > │ let v277 : int64 = v270.[int v276] │
00:00:56 #2221 [Verbose] > │ let v278 : float = v271 v277 │
00:00:56 #2222 [Verbose] > │ v273.[int v276] <- v278 │
00:00:56 #2223 [Verbose] > │ let v279 : uint64 = v276 + 1UL │
00:00:56 #2224 [Verbose] > │ v274.l0 <- v279 │
00:00:56 #2225 [Verbose] > │ () │
00:00:56 #2226 [Verbose] > │ v263.[int v266] <- v273 │
00:00:56 #2227 [Verbose] > │ let v280 : uint64 = v266 + 1UL │
00:00:56 #2228 [Verbose] > │ v264.l0 <- v280 │
00:00:56 #2229 [Verbose] > │ () │
00:00:56 #2230 [Verbose] > │ let v281 : ((float []) []) = v263 |> Array.transpose │
00:00:56 #2231 [Verbose] > │ let v282 : uint64 = System.Convert.ToUInt64 v281.Length │
00:00:56 #2232 [Verbose] > │ let v283 : (float []) = Array.zeroCreate<float> │
00:00:56 #2233 [Verbose] > │ (System.Convert.ToInt32(v282)) │
00:00:56 #2234 [Verbose] > │ let v284 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2235 [Verbose] > │ while method4(v282, v284) do │
00:00:56 #2236 [Verbose] > │ let v286 : uint64 = v284.l0 │
00:00:56 #2237 [Verbose] > │ let v287 : (float []) = v281.[int v286] │
00:00:56 #2238 [Verbose] > │ let v288 : float = v287 |> Array.average │
00:00:56 #2239 [Verbose] > │ v283.[int v286] <- v288 │
00:00:56 #2240 [Verbose] > │ let v289 : uint64 = v286 + 1UL │
00:00:56 #2241 [Verbose] > │ v284.l0 <- v289 │
00:00:56 #2242 [Verbose] > │ () │
00:00:56 #2243 [Verbose] > │ let v290 : (float -> int64) = int64 │
00:00:56 #2244 [Verbose] > │ let v291 : uint64 = System.Convert.ToUInt64 v283.Length │
00:00:56 #2245 [Verbose] > │ let v292 : (int64 []) = Array.zeroCreate<int64> │
00:00:56 #2246 [Verbose] > │ (System.Convert.ToInt32(v291)) │
00:00:56 #2247 [Verbose] > │ let v293 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2248 [Verbose] > │ while method4(v291, v293) do │
00:00:56 #2249 [Verbose] > │ let v295 : uint64 = v293.l0 │
00:00:56 #2250 [Verbose] > │ let v296 : float = v283.[int v295] │
00:00:56 #2251 [Verbose] > │ let v297 : int64 = v290 v296 │
00:00:56 #2252 [Verbose] > │ v292.[int v295] <- v297 │
00:00:56 #2253 [Verbose] > │ let v298 : uint64 = v295 + 1UL │
00:00:56 #2254 [Verbose] > │ v293.l0 <- v298 │
00:00:56 #2255 [Verbose] > │ () │
00:00:56 #2256 [Verbose] > │ let v299 : uint64 = System.Convert.ToUInt64 v292.Length │
00:00:56 #2257 [Verbose] > │ let v300 : UH6 = UH6_1 │
00:00:56 #2258 [Verbose] > │ let v301 : Mut3 = {l0 = 0UL; l1 = v300; l2 = 0} : Mut3 │
00:00:56 #2259 [Verbose] > │ while method28(v299, v301) do │
00:00:56 #2260 [Verbose] > │ let v303 : uint64 = v301.l0 │
00:00:56 #2261 [Verbose] > │ let struct (v304 : UH6, v305 : int32) = v301.l1, v301.l2 │
00:00:56 #2262 [Verbose] > │ let v306 : int64 = v292.[int v303] │
00:00:56 #2263 [Verbose] > │ let v307 : int32 = v305 + 1 │
00:00:56 #2264 [Verbose] > │ let v308 : uint64 = v303 + 1UL │
00:00:56 #2265 [Verbose] > │ let v309 : UH6 = UH6_0(v305, v306, v304) │
00:00:56 #2266 [Verbose] > │ v301.l0 <- v308 │
00:00:56 #2267 [Verbose] > │ v301.l1 <- v309 │
00:00:56 #2268 [Verbose] > │ v301.l2 <- v307 │
00:00:56 #2269 [Verbose] > │ () │
00:00:56 #2270 [Verbose] > │ let struct (v310 : UH6, v311 : int32) = v301.l1, v301.l2 │
00:00:56 #2271 [Verbose] > │ let v312 : UH6 = UH6_1 │
00:00:56 #2272 [Verbose] > │ let v313 : UH6 = method29(v310, v312) │
00:00:56 #2273 [Verbose] > │ let v314 : (struct (int32 * int64) []) = method36(v313) │
00:00:56 #2274 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #2275 [Verbose] > │ let v315 : string = "Average Ranking " │
00:00:56 #2276 [Verbose] > │ System.Console.WriteLine v315 │
00:00:56 #2277 [Verbose] > │ let v316 : (struct (int32 * int64) -> int64) = closure6() │
00:00:56 #2278 [Verbose] > │ let v317 : (struct (int32 * int64) []) = v314 |> Array.sortBy v316 │
00:00:56 #2279 [Verbose] > │ let v318 : uint64 = System.Convert.ToUInt64 v317.Length │
00:00:56 #2280 [Verbose] > │ let v319 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2281 [Verbose] > │ while method4(v318, v319) do │
00:00:56 #2282 [Verbose] > │ let v321 : uint64 = v319.l0 │
00:00:56 #2283 [Verbose] > │ let struct (v322 : int32, v323 : int64) = v317.[int v321] │
00:00:56 #2284 [Verbose] > │ let v324 : string = $"Test case %d{v322 + 1}. Average Time: %A{v323} │
00:00:56 #2285 [Verbose] > │ " │
00:00:56 #2286 [Verbose] > │ System.Console.WriteLine v324 │
00:00:56 #2287 [Verbose] > │ let v325 : uint64 = v321 + 1UL │
00:00:56 #2288 [Verbose] > │ v319.l0 <- v325 │
00:00:56 #2289 [Verbose] > │ () │
00:00:56 #2290 [Verbose] > │ () │
00:00:56 #2291 [Verbose] > │ and method0 () : unit = │
00:00:56 #2292 [Verbose] > │ let v0 : (unit -> unit) = closure0() │
00:00:56 #2293 [Verbose] > │ let v1 : string = nameof v0 │
00:00:56 #2294 [Verbose] > │ let v2 : string = "" │
00:00:56 #2295 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #2296 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #2297 [Verbose] > │ let v3 : string = $"Test: {v1}" │
00:00:56 #2298 [Verbose] > │ System.Console.WriteLine v3 │
00:00:56 #2299 [Verbose] > │ let v4 : string = "abc" │
00:00:56 #2300 [Verbose] > │ let v5 : string = "bca cab abc" │
00:00:56 #2301 [Verbose] > │ let v6 : string = "abcde" │
00:00:56 #2302 [Verbose] > │ let v7 : string = "bcdea cdeab deabc eabcd abcde" │
00:00:56 #2303 [Verbose] > │ let v8 : string = "abcdefghi" │
00:00:56 #2304 [Verbose] > │ let v9 : string = "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde │
00:00:56 #2305 [Verbose] > │ ghiabcdef hiabcdefg iabcdefgh abcdefghi" │
00:00:56 #2306 [Verbose] > │ let v10 : string = "abab" │
00:00:56 #2307 [Verbose] > │ let v11 : string = "baba abab baba abab" │
00:00:56 #2308 [Verbose] > │ let v12 : string = "aa" │
00:00:56 #2309 [Verbose] > │ let v13 : string = "aa aa" │
00:00:56 #2310 [Verbose] > │ let v14 : string = "z" │
00:00:56 #2311 [Verbose] > │ let v15 : UH0 = UH0_1 │
00:00:56 #2312 [Verbose] > │ let v16 : UH0 = UH0_0(v14, v14, v15) │
00:00:56 #2313 [Verbose] > │ let v17 : UH0 = UH0_0(v12, v13, v16) │
00:00:56 #2314 [Verbose] > │ let v18 : UH0 = UH0_0(v10, v11, v17) │
00:00:56 #2315 [Verbose] > │ let v19 : UH0 = UH0_0(v8, v9, v18) │
00:00:56 #2316 [Verbose] > │ let v20 : UH0 = UH0_0(v6, v7, v19) │
00:00:56 #2317 [Verbose] > │ let v21 : UH0 = UH0_0(v4, v5, v20) │
00:00:56 #2318 [Verbose] > │ let v22 : (struct (string * string) []) = method1(v21) │
00:00:56 #2319 [Verbose] > │ let v23 : uint64 = System.Convert.ToUInt64 v22.Length │
00:00:56 #2320 [Verbose] > │ let v24 : (struct (string * string * string * (int64 [])) []) = │
00:00:56 #2321 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:00:56 #2322 [Verbose] > │ (System.Convert.ToInt32(v23)) │
00:00:56 #2323 [Verbose] > │ let v25 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2324 [Verbose] > │ while method4(v23, v25) do │
00:00:56 #2325 [Verbose] > │ let v27 : uint64 = v25.l0 │
00:00:56 #2326 [Verbose] > │ let struct (v28 : string, v29 : string) = v22.[int v27] │
00:00:56 #2327 [Verbose] > │ let v30 : string = $"%A{v28}" │
00:00:56 #2328 [Verbose] > │ System.Console.WriteLine v2 │
00:00:56 #2329 [Verbose] > │ let v31 : string = $"Solution: {v30} " │
00:00:56 #2330 [Verbose] > │ System.Console.WriteLine v31 │
00:00:56 #2331 [Verbose] > │ let v32 : int32 = 0 │
00:00:56 #2332 [Verbose] > │ let v33 : string = "F" │
00:00:56 #2333 [Verbose] > │ let v34 : (string -> string) = closure1() │
00:00:56 #2334 [Verbose] > │ let v35 : int32 = 1 │
00:00:56 #2335 [Verbose] > │ let v36 : string = "FA" │
00:00:56 #2336 [Verbose] > │ let v37 : (string -> string) = closure2() │
00:00:56 #2337 [Verbose] > │ let v38 : UH3 = UH3_1 │
00:00:56 #2338 [Verbose] > │ let v39 : UH3 = UH3_0(v35, v36, v37, v38) │
00:00:56 #2339 [Verbose] > │ let v40 : UH3 = UH3_0(v32, v33, v34, v39) │
00:00:56 #2340 [Verbose] > │ let v41 : (struct (int32 * string * (string -> string)) []) = │
00:00:56 #2341 [Verbose] > │ method12(v40) │
00:00:56 #2342 [Verbose] > │ let v42 : uint64 = System.Convert.ToUInt64 v41.Length │
00:00:56 #2343 [Verbose] > │ let v43 : (struct (string * int64) []) = Array.zeroCreate<struct │
00:00:56 #2344 [Verbose] > │ (string * int64)> (System.Convert.ToInt32(v42)) │
00:00:56 #2345 [Verbose] > │ let v44 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:56 #2346 [Verbose] > │ while method4(v42, v44) do │
00:00:56 #2347 [Verbose] > │ let v46 : uint64 = v44.l0 │
00:00:56 #2348 [Verbose] > │ let struct (v47 : int32, v48 : string, v49 : (string -> string)) │
00:00:56 #2349 [Verbose] > │ = v41.[int v46] │
00:00:56 #2350 [Verbose] > │ let mutable result = None │
00:00:56 #2351 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:56 #2352 [Verbose] > │ #if !WASM │
00:00:56 #2353 [Verbose] > │ () │
00:00:56 #2354 [Verbose] > │ #else │
00:00:56 #2355 [Verbose] > │ () │
00:00:56 #2356 [Verbose] > │ #endif │
00:00:56 #2357 [Verbose] > │ #else │
00:00:56 #2358 [Verbose] > │ System.GC.Collect () │
00:00:56 #2359 [Verbose] > │ () │
00:00:56 #2360 [Verbose] > │ #endif │
00:00:56 #2361 [Verbose] > │ |> fun x -> result <- Some x │
00:00:56 #2362 [Verbose] > │ result |> Option.get │
00:00:56 #2363 [Verbose] > │ let v50 : (unit -> System.Diagnostics.Stopwatch) = │
00:00:56 #2364 [Verbose] > │ System.Diagnostics.Stopwatch │
00:00:56 #2365 [Verbose] > │ let v51 : System.Diagnostics.Stopwatch = v50 () │
00:00:56 #2366 [Verbose] > │ v51.Start () │
00:00:56 #2367 [Verbose] > │ let v52 : int64 = v51.ElapsedMilliseconds │
00:00:56 #2368 [Verbose] > │ let v53 : (int32 []) = Array.zeroCreate<int32> (2000001) │
00:00:56 #2369 [Verbose] > │ let v54 : Mut1 = {l0 = 0} : Mut1 │
00:00:56 #2370 [Verbose] > │ while method15(v54) do │
00:00:56 #2371 [Verbose] > │ let v56 : int32 = v54.l0 │
00:00:56 #2372 [Verbose] > │ v53.[int v56] <- v56 │
00:00:56 #2373 [Verbose] > │ let v57 : int32 = v56 + 1 │
00:00:56 #2374 [Verbose] > │ v54.l0 <- v57 │
00:00:56 #2375 [Verbose] > │ () │
00:00:56 #2376 [Verbose] > │ let v58 : (int32 -> string) = closure3(v28, v49) │
00:00:56 #2377 [Verbose] > │ let v59 : (string []) = v53 |> Array.Parallel.map v58 │
00:00:56 #2378 [Verbose] > │ let v60 : int32 = v59.Length │
00:00:56 #2379 [Verbose] > │ let v61 : int32 = v60 - 1 │
00:00:56 #2380 [Verbose] > │ let v62 : string = v59.[int v61] │
00:00:56 #2381 [Verbose] > │ let v63 : int64 = v51.ElapsedMilliseconds │
00:00:57 #2382 [Verbose] > │ let v64 : int64 = v63 - v52 │
00:00:57 #2383 [Verbose] > │ let v65 : string = $"Test case {v47 + 1}. {v48}. Time: {v64} " │
00:00:57 #2384 [Verbose] > │ System.Console.WriteLine v65 │
00:00:57 #2385 [Verbose] > │ v43.[int v46] <- struct (v62, v64) │
00:00:57 #2386 [Verbose] > │ let v66 : uint64 = v46 + 1UL │
00:00:57 #2387 [Verbose] > │ v44.l0 <- v66 │
00:00:57 #2388 [Verbose] > │ () │
00:00:57 #2389 [Verbose] > │ let v67 : uint64 = System.Convert.ToUInt64 v43.Length │
00:00:57 #2390 [Verbose] > │ let v68 : (string []) = Array.zeroCreate<string> │
00:00:57 #2391 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:57 #2392 [Verbose] > │ let v69 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2393 [Verbose] > │ while method4(v67, v69) do │
00:00:57 #2394 [Verbose] > │ let v71 : uint64 = v69.l0 │
00:00:57 #2395 [Verbose] > │ let struct (v72 : string, v73 : int64) = v43.[int v71] │
00:00:57 #2396 [Verbose] > │ v68.[int v71] <- v72 │
00:00:57 #2397 [Verbose] > │ let v74 : uint64 = v71 + 1UL │
00:00:57 #2398 [Verbose] > │ v69.l0 <- v74 │
00:00:57 #2399 [Verbose] > │ () │
00:00:57 #2400 [Verbose] > │ let v75 : uint64 = System.Convert.ToUInt64 v68.Length │
00:00:57 #2401 [Verbose] > │ let v76 : bool = v75 <= 1UL │
00:00:57 #2402 [Verbose] > │ if v76 then │
00:00:57 #2403 [Verbose] > │ () │
00:00:57 #2404 [Verbose] > │ else │
00:00:57 #2405 [Verbose] > │ let v77 : string = v68.[int 0UL] │
00:00:57 #2406 [Verbose] > │ let v78 : uint64 = 0UL │
00:00:57 #2407 [Verbose] > │ let v79 : bool = method16(v77, v68, v78) │
00:00:57 #2408 [Verbose] > │ if v79 then │
00:00:57 #2409 [Verbose] > │ () │
00:00:57 #2410 [Verbose] > │ else │
00:00:57 #2411 [Verbose] > │ let v80 : string = $"Challenge error: {v68}" │
00:00:57 #2412 [Verbose] > │ failwith<unit> v80 │
00:00:57 #2413 [Verbose] > │ let v81 : string = $"%A{v29}" │
00:00:57 #2414 [Verbose] > │ let v82 : (string []) = Array.zeroCreate<string> │
00:00:57 #2415 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:57 #2416 [Verbose] > │ let v83 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2417 [Verbose] > │ while method4(v67, v83) do │
00:00:57 #2418 [Verbose] > │ let v85 : uint64 = v83.l0 │
00:00:57 #2419 [Verbose] > │ let struct (v86 : string, v87 : int64) = v43.[int v85] │
00:00:57 #2420 [Verbose] > │ v82.[int v85] <- v86 │
00:00:57 #2421 [Verbose] > │ let v88 : uint64 = v85 + 1UL │
00:00:57 #2422 [Verbose] > │ v83.l0 <- v88 │
00:00:57 #2423 [Verbose] > │ () │
00:00:57 #2424 [Verbose] > │ let v89 : string = v82.[int 0UL] │
00:00:57 #2425 [Verbose] > │ let v90 : string = $"%A{v89}" │
00:00:57 #2426 [Verbose] > │ let v91 : (int64 []) = Array.zeroCreate<int64> │
00:00:57 #2427 [Verbose] > │ (System.Convert.ToInt32(v67)) │
00:00:57 #2428 [Verbose] > │ let v92 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2429 [Verbose] > │ while method4(v67, v92) do │
00:00:57 #2430 [Verbose] > │ let v94 : uint64 = v92.l0 │
00:00:57 #2431 [Verbose] > │ let struct (v95 : string, v96 : int64) = v43.[int v94] │
00:00:57 #2432 [Verbose] > │ v91.[int v94] <- v96 │
00:00:57 #2433 [Verbose] > │ let v97 : uint64 = v94 + 1UL │
00:00:57 #2434 [Verbose] > │ v92.l0 <- v97 │
00:00:57 #2435 [Verbose] > │ () │
00:00:57 #2436 [Verbose] > │ v24.[int v27] <- struct (v81, v30, v90, v91) │
00:00:57 #2437 [Verbose] > │ let v98 : uint64 = v27 + 1UL │
00:00:57 #2438 [Verbose] > │ v25.l0 <- v98 │
00:00:57 #2439 [Verbose] > │ () │
00:00:57 #2440 [Verbose] > │ let v99 : uint64 = System.Convert.ToUInt64 v24.Length │
00:00:57 #2441 [Verbose] > │ let v100 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:57 #2442 [Verbose] > │ US0)> (System.Convert.ToInt32(v99)) │
00:00:57 #2443 [Verbose] > │ let v101 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2444 [Verbose] > │ while method4(v99, v101) do │
00:00:57 #2445 [Verbose] > │ let v103 : uint64 = v101.l0 │
00:00:57 #2446 [Verbose] > │ let struct (v104 : string, v105 : string, v106 : string, v107 : │
00:00:57 #2447 [Verbose] > │ (int64 [])) = v24.[int v103] │
00:00:57 #2448 [Verbose] > │ let v108 : uint64 = System.Convert.ToUInt64 v107.Length │
00:00:57 #2449 [Verbose] > │ let v109 : UH4 = UH4_1 │
00:00:57 #2450 [Verbose] > │ let v110 : Mut2 = {l0 = 0UL; l1 = v109; l2 = 0L} : Mut2 │
00:00:57 #2451 [Verbose] > │ while method17(v108, v110) do │
00:00:57 #2452 [Verbose] > │ let v112 : uint64 = v110.l0 │
00:00:57 #2453 [Verbose] > │ let struct (v113 : UH4, v114 : int64) = v110.l1, v110.l2 │
00:00:57 #2454 [Verbose] > │ let v115 : int64 = v107.[int v112] │
00:00:57 #2455 [Verbose] > │ let v116 : int64 = v114 + 1L │
00:00:57 #2456 [Verbose] > │ let v117 : uint64 = v112 + 1UL │
00:00:57 #2457 [Verbose] > │ let v118 : UH4 = UH4_0(v114, v115, v113) │
00:00:57 #2458 [Verbose] > │ v110.l0 <- v117 │
00:00:57 #2459 [Verbose] > │ v110.l1 <- v118 │
00:00:57 #2460 [Verbose] > │ v110.l2 <- v116 │
00:00:57 #2461 [Verbose] > │ () │
00:00:57 #2462 [Verbose] > │ let struct (v119 : UH4, v120 : int64) = v110.l1, v110.l2 │
00:00:57 #2463 [Verbose] > │ let v121 : UH4 = UH4_1 │
00:00:57 #2464 [Verbose] > │ let v122 : UH4 = method18(v119, v121) │
00:00:57 #2465 [Verbose] > │ let v123 : (struct (int64 * int64) []) = method19(v122) │
00:00:57 #2466 [Verbose] > │ let v124 : int32 = v123.Length │
00:00:57 #2467 [Verbose] > │ let v125 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:00:57 #2468 [Verbose] > │ (int64 * int64)> (v124) │
00:00:57 #2469 [Verbose] > │ let v126 : Mut1 = {l0 = 0} : Mut1 │
00:00:57 #2470 [Verbose] > │ while method5(v124, v126) do │
00:00:57 #2471 [Verbose] > │ let v128 : int32 = v126.l0 │
00:00:57 #2472 [Verbose] > │ let struct (v129 : int64, v130 : int64) = v123.[int v128] │
00:00:57 #2473 [Verbose] > │ let v131 : int64 = v129 + 1L │
00:00:57 #2474 [Verbose] > │ v125.[int v128] <- struct (v131, v130) │
00:00:57 #2475 [Verbose] > │ let v132 : int32 = v128 + 1 │
00:00:57 #2476 [Verbose] > │ v126.l0 <- v132 │
00:00:57 #2477 [Verbose] > │ () │
00:00:57 #2478 [Verbose] > │ let v133 : (struct (int64 * int64) -> int64) = closure4() │
00:00:57 #2479 [Verbose] > │ let v134 : (struct (int64 * int64) []) = v125 |> Array.sortBy v133 │
00:00:57 #2480 [Verbose] > │ let struct (v135 : int64, v136 : int64) = v134.[int 0] │
00:00:57 #2481 [Verbose] > │ let v137 : string = $"%A{struct (v135, v136)}" │
00:00:57 #2482 [Verbose] > │ let v138 : bool = v104 = v106 │
00:00:57 #2483 [Verbose] > │ let v143 : US0 = │
00:00:57 #2484 [Verbose] > │ if v138 then │
00:00:57 #2485 [Verbose] > │ let v139 : System.ConsoleColor = │
00:00:57 #2486 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:00:57 #2487 [Verbose] > │ US0_1(v139) │
00:00:57 #2488 [Verbose] > │ else │
00:00:57 #2489 [Verbose] > │ let v141 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:00:57 #2490 [Verbose] > │ US0_1(v141) │
00:00:57 #2491 [Verbose] > │ let v144 : UH2 = UH2_1 │
00:00:57 #2492 [Verbose] > │ let v145 : UH2 = UH2_0(v137, v144) │
00:00:57 #2493 [Verbose] > │ let v146 : UH2 = UH2_0(v106, v145) │
00:00:57 #2494 [Verbose] > │ let v147 : UH2 = UH2_0(v104, v146) │
00:00:57 #2495 [Verbose] > │ let v148 : UH2 = UH2_0(v105, v147) │
00:00:57 #2496 [Verbose] > │ v100.[int v103] <- struct (v148, v143) │
00:00:57 #2497 [Verbose] > │ let v149 : uint64 = v103 + 1UL │
00:00:57 #2498 [Verbose] > │ v101.l0 <- v149 │
00:00:57 #2499 [Verbose] > │ () │
00:00:57 #2500 [Verbose] > │ let v150 : string = "Input" │
00:00:57 #2501 [Verbose] > │ let v151 : string = "Expected" │
00:00:57 #2502 [Verbose] > │ let v152 : string = "Result" │
00:00:57 #2503 [Verbose] > │ let v153 : string = "Best" │
00:00:57 #2504 [Verbose] > │ let v154 : UH2 = UH2_1 │
00:00:57 #2505 [Verbose] > │ let v155 : UH2 = UH2_0(v153, v154) │
00:00:57 #2506 [Verbose] > │ let v156 : UH2 = UH2_0(v152, v155) │
00:00:57 #2507 [Verbose] > │ let v157 : UH2 = UH2_0(v151, v156) │
00:00:57 #2508 [Verbose] > │ let v158 : UH2 = UH2_0(v150, v157) │
00:00:57 #2509 [Verbose] > │ let v159 : US0 = US0_0 │
00:00:57 #2510 [Verbose] > │ let v160 : string = "---" │
00:00:57 #2511 [Verbose] > │ let v161 : UH2 = UH2_1 │
00:00:57 #2512 [Verbose] > │ let v162 : UH2 = UH2_0(v160, v161) │
00:00:57 #2513 [Verbose] > │ let v163 : UH2 = UH2_0(v160, v162) │
00:00:57 #2514 [Verbose] > │ let v164 : UH2 = UH2_0(v160, v163) │
00:00:57 #2515 [Verbose] > │ let v165 : UH2 = UH2_0(v160, v164) │
00:00:57 #2516 [Verbose] > │ let v166 : US0 = US0_0 │
00:00:57 #2517 [Verbose] > │ let v167 : UH5 = UH5_1 │
00:00:57 #2518 [Verbose] > │ let v168 : UH5 = UH5_0(v165, v166, v167) │
00:00:57 #2519 [Verbose] > │ let v169 : UH5 = UH5_0(v158, v159, v168) │
00:00:57 #2520 [Verbose] > │ let v170 : (struct (UH2 * US0) []) = method22(v169) │
00:00:57 #2521 [Verbose] > │ let v171 : uint64 = System.Convert.ToUInt64 v170.Length │
00:00:57 #2522 [Verbose] > │ let v172 : uint64 = System.Convert.ToUInt64 v100.Length │
00:00:57 #2523 [Verbose] > │ let v173 : uint64 = v171 + v172 │
00:00:57 #2524 [Verbose] > │ let v174 : (struct (UH2 * US0) []) = Array.zeroCreate<struct (UH2 * │
00:00:57 #2525 [Verbose] > │ US0)> (System.Convert.ToInt32(v173)) │
00:00:57 #2526 [Verbose] > │ let v175 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2527 [Verbose] > │ while method4(v173, v175) do │
00:00:57 #2528 [Verbose] > │ let v177 : uint64 = v175.l0 │
00:00:57 #2529 [Verbose] > │ let v178 : bool = v177 < v171 │
00:00:57 #2530 [Verbose] > │ let struct (v184 : UH2, v185 : US0) = │
00:00:57 #2531 [Verbose] > │ if v178 then │
00:00:57 #2532 [Verbose] > │ let struct (v179 : UH2, v180 : US0) = v170.[int v177] │
00:00:57 #2533 [Verbose] > │ struct (v179, v180) │
00:00:57 #2534 [Verbose] > │ else │
00:00:57 #2535 [Verbose] > │ let v181 : uint64 = v177 - v171 │
00:00:57 #2536 [Verbose] > │ let struct (v182 : UH2, v183 : US0) = v100.[int v181] │
00:00:57 #2537 [Verbose] > │ struct (v182, v183) │
00:00:57 #2538 [Verbose] > │ v174.[int v177] <- struct (v184, v185) │
00:00:57 #2539 [Verbose] > │ let v186 : uint64 = v177 + 1UL │
00:00:57 #2540 [Verbose] > │ v175.l0 <- v186 │
00:00:57 #2541 [Verbose] > │ () │
00:00:57 #2542 [Verbose] > │ let v187 : uint64 = System.Convert.ToUInt64 v174.Length │
00:00:57 #2543 [Verbose] > │ let v188 : ((string []) []) = Array.zeroCreate<(string [])> │
00:00:57 #2544 [Verbose] > │ (System.Convert.ToInt32(v187)) │
00:00:57 #2545 [Verbose] > │ let v189 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2546 [Verbose] > │ while method4(v187, v189) do │
00:00:57 #2547 [Verbose] > │ let v191 : uint64 = v189.l0 │
00:00:57 #2548 [Verbose] > │ let struct (v192 : UH2, v193 : US0) = v174.[int v191] │
00:00:57 #2549 [Verbose] > │ let v194 : (string []) = method25(v192) │
00:00:57 #2550 [Verbose] > │ v188.[int v191] <- v194 │
00:00:57 #2551 [Verbose] > │ let v195 : uint64 = v191 + 1UL │
00:00:57 #2552 [Verbose] > │ v189.l0 <- v195 │
00:00:57 #2553 [Verbose] > │ () │
00:00:57 #2554 [Verbose] > │ let v196 : ((string []) []) = v188 |> Array.transpose │
00:00:57 #2555 [Verbose] > │ let v197 : uint64 = System.Convert.ToUInt64 v196.Length │
00:00:57 #2556 [Verbose] > │ let v198 : (int64 []) = Array.zeroCreate<int64> │
00:00:57 #2557 [Verbose] > │ (System.Convert.ToInt32(v197)) │
00:00:57 #2558 [Verbose] > │ let v199 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2559 [Verbose] > │ while method4(v197, v199) do │
00:00:57 #2560 [Verbose] > │ let v201 : uint64 = v199.l0 │
00:00:57 #2561 [Verbose] > │ let v202 : (string []) = v196.[int v201] │
00:00:57 #2562 [Verbose] > │ let v203 : uint64 = System.Convert.ToUInt64 v202.Length │
00:00:57 #2563 [Verbose] > │ let v204 : (int64 []) = Array.zeroCreate<int64> │
00:00:57 #2564 [Verbose] > │ (System.Convert.ToInt32(v203)) │
00:00:57 #2565 [Verbose] > │ let v205 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2566 [Verbose] > │ while method4(v203, v205) do │
00:00:57 #2567 [Verbose] > │ let v207 : uint64 = v205.l0 │
00:00:57 #2568 [Verbose] > │ let v208 : string = v202.[int v207] │
00:00:57 #2569 [Verbose] > │ let v209 : int64 = System.Convert.ToInt64 v208.Length │
00:00:57 #2570 [Verbose] > │ v204.[int v207] <- v209 │
00:00:57 #2571 [Verbose] > │ let v210 : uint64 = v207 + 1UL │
00:00:57 #2572 [Verbose] > │ v205.l0 <- v210 │
00:00:57 #2573 [Verbose] > │ () │
00:00:57 #2574 [Verbose] > │ let v211 : (int64 []) = v204 |> Array.sortDescending │
00:00:57 #2575 [Verbose] > │ let v212 : int64 option = v211 |> Array.tryItem 0 │
00:00:57 #2576 [Verbose] > │ let v213 : (int64 -> US1) = closure5() │
00:00:57 #2577 [Verbose] > │ let v214 : US1 = US1_0 │
00:00:57 #2578 [Verbose] > │ let v215 : US1 = v212 |> Option.map v213 |> Option.defaultValue v214 │
00:00:57 #2579 [Verbose] > │ let v218 : int64 = │
00:00:57 #2580 [Verbose] > │ match v215 with │
00:00:57 #2581 [Verbose] > │ | US1_0 -> (* None *) │
00:00:57 #2582 [Verbose] > │ 0L │
00:00:57 #2583 [Verbose] > │ | US1_1(v216) -> (* Some *) │
00:00:57 #2584 [Verbose] > │ v216 │
00:00:57 #2585 [Verbose] > │ v198.[int v201] <- v218 │
00:00:57 #2586 [Verbose] > │ let v219 : uint64 = v201 + 1UL │
00:00:57 #2587 [Verbose] > │ v199.l0 <- v219 │
00:00:57 #2588 [Verbose] > │ () │
00:00:57 #2589 [Verbose] > │ let v220 : uint64 = System.Convert.ToUInt64 v198.Length │
00:00:57 #2590 [Verbose] > │ let v221 : UH6 = UH6_1 │
00:00:57 #2591 [Verbose] > │ let v222 : Mut3 = {l0 = 0UL; l1 = v221; l2 = 0} : Mut3 │
00:00:57 #2592 [Verbose] > │ while method28(v220, v222) do │
00:00:57 #2593 [Verbose] > │ let v224 : uint64 = v222.l0 │
00:00:57 #2594 [Verbose] > │ let struct (v225 : UH6, v226 : int32) = v222.l1, v222.l2 │
00:00:57 #2595 [Verbose] > │ let v227 : int64 = v198.[int v224] │
00:00:57 #2596 [Verbose] > │ let v228 : int32 = v226 + 1 │
00:00:57 #2597 [Verbose] > │ let v229 : uint64 = v224 + 1UL │
00:00:57 #2598 [Verbose] > │ let v230 : UH6 = UH6_0(v226, v227, v225) │
00:00:57 #2599 [Verbose] > │ v222.l0 <- v229 │
00:00:57 #2600 [Verbose] > │ v222.l1 <- v230 │
00:00:57 #2601 [Verbose] > │ v222.l2 <- v228 │
00:00:57 #2602 [Verbose] > │ () │
00:00:57 #2603 [Verbose] > │ let struct (v231 : UH6, v232 : int32) = v222.l1, v222.l2 │
00:00:57 #2604 [Verbose] > │ let v233 : UH6 = UH6_1 │
00:00:57 #2605 [Verbose] > │ let v234 : UH6 = method29(v231, v233) │
00:00:57 #2606 [Verbose] > │ let v235 : (struct (int32 * int64) []) = method30(v234) │
00:00:57 #2607 [Verbose] > │ let v236 : Map<int32, int64> = v235 |> Array.map (fun (struct (a, b)) -> │
00:00:57 #2608 [Verbose] > │ a, b) |> Map.ofArray │
00:00:57 #2609 [Verbose] > │ let v237 : (struct ((string []) * US0) []) = Array.zeroCreate<struct │
00:00:57 #2610 [Verbose] > │ ((string []) * US0)> (System.Convert.ToInt32(v187)) │
00:00:57 #2611 [Verbose] > │ let v238 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2612 [Verbose] > │ while method4(v187, v238) do │
00:00:57 #2613 [Verbose] > │ let v240 : uint64 = v238.l0 │
00:00:57 #2614 [Verbose] > │ let struct (v241 : UH2, v242 : US0) = v174.[int v240] │
00:00:57 #2615 [Verbose] > │ let v243 : UH7 = UH7_1 │
00:00:57 #2616 [Verbose] > │ let v244 : int32 = 0 │
00:00:57 #2617 [Verbose] > │ let struct (v245 : UH7, v246 : int32) = method33(v241, v243, v244) │
00:00:57 #2618 [Verbose] > │ let v247 : UH7 = UH7_1 │
00:00:57 #2619 [Verbose] > │ let v248 : UH7 = method34(v245, v247) │
00:00:57 #2620 [Verbose] > │ let v249 : UH2 = UH2_1 │
00:00:57 #2621 [Verbose] > │ let v250 : UH2 = method35(v236, v248, v249) │
00:00:57 #2622 [Verbose] > │ let v251 : (string []) = method9(v250) │
00:00:57 #2623 [Verbose] > │ v237.[int v240] <- struct (v251, v242) │
00:00:57 #2624 [Verbose] > │ let v252 : uint64 = v240 + 1UL │
00:00:57 #2625 [Verbose] > │ v238.l0 <- v252 │
00:00:57 #2626 [Verbose] > │ () │
00:00:57 #2627 [Verbose] > │ System.Console.WriteLine v2 │
00:00:57 #2628 [Verbose] > │ let v253 : uint64 = System.Convert.ToUInt64 v237.Length │
00:00:57 #2629 [Verbose] > │ let v254 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2630 [Verbose] > │ while method4(v253, v254) do │
00:00:57 #2631 [Verbose] > │ let v256 : uint64 = v254.l0 │
00:00:57 #2632 [Verbose] > │ let struct (v257 : (string []), v258 : US0) = v237.[int v256] │
00:00:57 #2633 [Verbose] > │ match v258 with │
00:00:57 #2634 [Verbose] > │ | US0_0 -> (* None *) │
00:00:57 #2635 [Verbose] > │ let mutable result = None │
00:00:57 #2636 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:57 #2637 [Verbose] > │ #if !WASM │
00:00:57 #2638 [Verbose] > │ () │
00:00:57 #2639 [Verbose] > │ #else │
00:00:57 #2640 [Verbose] > │ () │
00:00:57 #2641 [Verbose] > │ #endif │
00:00:57 #2642 [Verbose] > │ #else │
00:00:57 #2643 [Verbose] > │ System.Console.ResetColor () │
00:00:57 #2644 [Verbose] > │ () │
00:00:57 #2645 [Verbose] > │ #endif │
00:00:57 #2646 [Verbose] > │ |> fun x -> result <- Some x │
00:00:57 #2647 [Verbose] > │ result |> Option.get │
00:00:57 #2648 [Verbose] > │ () │
00:00:57 #2649 [Verbose] > │ | US0_1(v259) -> (* Some *) │
00:00:57 #2650 [Verbose] > │ let mutable result = None │
00:00:57 #2651 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:57 #2652 [Verbose] > │ #if !WASM │
00:00:57 #2653 [Verbose] > │ () │
00:00:57 #2654 [Verbose] > │ #else │
00:00:57 #2655 [Verbose] > │ () │
00:00:57 #2656 [Verbose] > │ #endif │
00:00:57 #2657 [Verbose] > │ #else │
00:00:57 #2658 [Verbose] > │ System.Console.ForegroundColor <- v259 │
00:00:57 #2659 [Verbose] > │ () │
00:00:57 #2660 [Verbose] > │ #endif │
00:00:57 #2661 [Verbose] > │ |> fun x -> result <- Some x │
00:00:57 #2662 [Verbose] > │ result |> Option.get │
00:00:57 #2663 [Verbose] > │ () │
00:00:57 #2664 [Verbose] > │ let v260 : string = "\t| " │
00:00:57 #2665 [Verbose] > │ let v261 : string = System.String.Join (v260, v257) │
00:00:57 #2666 [Verbose] > │ System.Console.WriteLine v261 │
00:00:57 #2667 [Verbose] > │ let mutable result = None │
00:00:57 #2668 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:00:57 #2669 [Verbose] > │ #if !WASM │
00:00:57 #2670 [Verbose] > │ () │
00:00:57 #2671 [Verbose] > │ #else │
00:00:57 #2672 [Verbose] > │ () │
00:00:57 #2673 [Verbose] > │ #endif │
00:00:57 #2674 [Verbose] > │ #else │
00:00:57 #2675 [Verbose] > │ System.Console.ResetColor () │
00:00:57 #2676 [Verbose] > │ () │
00:00:57 #2677 [Verbose] > │ #endif │
00:00:57 #2678 [Verbose] > │ |> fun x -> result <- Some x │
00:00:57 #2679 [Verbose] > │ result |> Option.get │
00:00:57 #2680 [Verbose] > │ let v262 : uint64 = v256 + 1UL │
00:00:57 #2681 [Verbose] > │ v254.l0 <- v262 │
00:00:57 #2682 [Verbose] > │ () │
00:00:57 #2683 [Verbose] > │ let v263 : ((float []) []) = Array.zeroCreate<(float [])> │
00:00:57 #2684 [Verbose] > │ (System.Convert.ToInt32(v99)) │
00:00:57 #2685 [Verbose] > │ let v264 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2686 [Verbose] > │ while method4(v99, v264) do │
00:00:57 #2687 [Verbose] > │ let v266 : uint64 = v264.l0 │
00:00:57 #2688 [Verbose] > │ let struct (v267 : string, v268 : string, v269 : string, v270 : │
00:00:57 #2689 [Verbose] > │ (int64 [])) = v24.[int v266] │
00:00:57 #2690 [Verbose] > │ let v271 : (int64 -> float) = float │
00:00:57 #2691 [Verbose] > │ let v272 : uint64 = System.Convert.ToUInt64 v270.Length │
00:00:57 #2692 [Verbose] > │ let v273 : (float []) = Array.zeroCreate<float> │
00:00:57 #2693 [Verbose] > │ (System.Convert.ToInt32(v272)) │
00:00:57 #2694 [Verbose] > │ let v274 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2695 [Verbose] > │ while method4(v272, v274) do │
00:00:57 #2696 [Verbose] > │ let v276 : uint64 = v274.l0 │
00:00:57 #2697 [Verbose] > │ let v277 : int64 = v270.[int v276] │
00:00:57 #2698 [Verbose] > │ let v278 : float = v271 v277 │
00:00:57 #2699 [Verbose] > │ v273.[int v276] <- v278 │
00:00:57 #2700 [Verbose] > │ let v279 : uint64 = v276 + 1UL │
00:00:57 #2701 [Verbose] > │ v274.l0 <- v279 │
00:00:57 #2702 [Verbose] > │ () │
00:00:57 #2703 [Verbose] > │ v263.[int v266] <- v273 │
00:00:57 #2704 [Verbose] > │ let v280 : uint64 = v266 + 1UL │
00:00:57 #2705 [Verbose] > │ v264.l0 <- v280 │
00:00:57 #2706 [Verbose] > │ () │
00:00:57 #2707 [Verbose] > │ let v281 : ((float []) []) = v263 |> Array.transpose │
00:00:57 #2708 [Verbose] > │ let v282 : uint64 = System.Convert.ToUInt64 v281.Length │
00:00:57 #2709 [Verbose] > │ let v283 : (float []) = Array.zeroCreate<float> │
00:00:57 #2710 [Verbose] > │ (System.Convert.ToInt32(v282)) │
00:00:57 #2711 [Verbose] > │ let v284 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2712 [Verbose] > │ while method4(v282, v284) do │
00:00:57 #2713 [Verbose] > │ let v286 : uint64 = v284.l0 │
00:00:57 #2714 [Verbose] > │ let v287 : (float []) = v281.[int v286] │
00:00:57 #2715 [Verbose] > │ let v288 : float = v287 |> Array.average │
00:00:57 #2716 [Verbose] > │ v283.[int v286] <- v288 │
00:00:57 #2717 [Verbose] > │ let v289 : uint64 = v286 + 1UL │
00:00:57 #2718 [Verbose] > │ v284.l0 <- v289 │
00:00:57 #2719 [Verbose] > │ () │
00:00:57 #2720 [Verbose] > │ let v290 : (float -> int64) = int64 │
00:00:57 #2721 [Verbose] > │ let v291 : uint64 = System.Convert.ToUInt64 v283.Length │
00:00:57 #2722 [Verbose] > │ let v292 : (int64 []) = Array.zeroCreate<int64> │
00:00:57 #2723 [Verbose] > │ (System.Convert.ToInt32(v291)) │
00:00:57 #2724 [Verbose] > │ let v293 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2725 [Verbose] > │ while method4(v291, v293) do │
00:00:57 #2726 [Verbose] > │ let v295 : uint64 = v293.l0 │
00:00:57 #2727 [Verbose] > │ let v296 : float = v283.[int v295] │
00:00:57 #2728 [Verbose] > │ let v297 : int64 = v290 v296 │
00:00:57 #2729 [Verbose] > │ v292.[int v295] <- v297 │
00:00:57 #2730 [Verbose] > │ let v298 : uint64 = v295 + 1UL │
00:00:57 #2731 [Verbose] > │ v293.l0 <- v298 │
00:00:57 #2732 [Verbose] > │ () │
00:00:57 #2733 [Verbose] > │ let v299 : uint64 = System.Convert.ToUInt64 v292.Length │
00:00:57 #2734 [Verbose] > │ let v300 : UH6 = UH6_1 │
00:00:57 #2735 [Verbose] > │ let v301 : Mut3 = {l0 = 0UL; l1 = v300; l2 = 0} : Mut3 │
00:00:57 #2736 [Verbose] > │ while method28(v299, v301) do │
00:00:57 #2737 [Verbose] > │ let v303 : uint64 = v301.l0 │
00:00:57 #2738 [Verbose] > │ let struct (v304 : UH6, v305 : int32) = v301.l1, v301.l2 │
00:00:57 #2739 [Verbose] > │ let v306 : int64 = v292.[int v303] │
00:00:57 #2740 [Verbose] > │ let v307 : int32 = v305 + 1 │
00:00:57 #2741 [Verbose] > │ let v308 : uint64 = v303 + 1UL │
00:00:57 #2742 [Verbose] > │ let v309 : UH6 = UH6_0(v305, v306, v304) │
00:00:57 #2743 [Verbose] > │ v301.l0 <- v308 │
00:00:57 #2744 [Verbose] > │ v301.l1 <- v309 │
00:00:57 #2745 [Verbose] > │ v301.l2 <- v307 │
00:00:57 #2746 [Verbose] > │ () │
00:00:57 #2747 [Verbose] > │ let struct (v310 : UH6, v311 : int32) = v301.l1, v301.l2 │
00:00:57 #2748 [Verbose] > │ let v312 : UH6 = UH6_1 │
00:00:57 #2749 [Verbose] > │ let v313 : UH6 = method29(v310, v312) │
00:00:57 #2750 [Verbose] > │ let v314 : (struct (int32 * int64) []) = method36(v313) │
00:00:57 #2751 [Verbose] > │ System.Console.WriteLine v2 │
00:00:57 #2752 [Verbose] > │ let v315 : string = "Average Ranking " │
00:00:57 #2753 [Verbose] > │ System.Console.WriteLine v315 │
00:00:57 #2754 [Verbose] > │ let v316 : (struct (int32 * int64) -> int64) = closure6() │
00:00:57 #2755 [Verbose] > │ let v317 : (struct (int32 * int64) []) = v314 |> Array.sortBy v316 │
00:00:57 #2756 [Verbose] > │ let v318 : uint64 = System.Convert.ToUInt64 v317.Length │
00:00:57 #2757 [Verbose] > │ let v319 : Mut0 = {l0 = 0UL} : Mut0 │
00:00:57 #2758 [Verbose] > │ while method4(v318, v319) do │
00:00:57 #2759 [Verbose] > │ let v321 : uint64 = v319.l0 │
00:00:57 #2760 [Verbose] > │ let struct (v322 : int32, v323 : int64) = v317.[int v321] │
00:00:57 #2761 [Verbose] > │ let v324 : string = $"Test case %d{v322 + 1}. Average Time: %A{v323} │
00:00:57 #2762 [Verbose] > │ " │
00:00:57 #2763 [Verbose] > │ System.Console.WriteLine v324 │
00:00:57 #2764 [Verbose] > │ let v325 : uint64 = v321 + 1UL │
00:00:57 #2765 [Verbose] > │ v319.l0 <- v325 │
00:00:57 #2766 [Verbose] > │ () │
00:00:57 #2767 [Verbose] > │ () │
00:00:57 #2768 [Verbose] > │ method0() │
00:00:57 #2769 [Verbose] > │ │
00:00:57 #2770 [Verbose] > │ │
00:00:57 #2771 [Verbose] > │ │
00:00:57 #2772 [Verbose] > │ Test: v0 │
00:00:57 #2773 [Verbose] > │ │
00:00:57 #2774 [Verbose] > │ Solution: "abc" │
00:00:57 #2775 [Verbose] > │ Test case 1. F. Time: 1007 │
00:00:57 #2776 [Verbose] > │ Test case 2. FA. Time: 1334 │
00:00:57 #2777 [Verbose] > │ │
00:00:57 #2778 [Verbose] > │ Solution: "abcde" │
00:00:57 #2779 [Verbose] > │ Test case 1. F. Time: 1492 │
00:00:57 #2780 [Verbose] > │ Test case 2. FA. Time: 1965 │
00:00:57 #2781 [Verbose] > │ │
00:00:57 #2782 [Verbose] > │ Solution: "abcdefghi" │
00:00:57 #2783 [Verbose] > │ Test case 1. F. Time: 2204 │
00:00:57 #2784 [Verbose] > │ Test case 2. FA. Time: 3275 │
00:00:57 #2785 [Verbose] > │ │
00:00:57 #2786 [Verbose] > │ Solution: "abab" │
00:00:57 #2787 [Verbose] > │ Test case 1. F. Time: 1095 │
00:00:57 #2788 [Verbose] > │ Test case 2. FA. Time: 1621 │
00:00:57 #2789 [Verbose] > │ │
00:00:57 #2790 [Verbose] > │ Solution: "aa" │
00:00:57 #2791 [Verbose] > │ Test case 1. F. Time: 838 │
00:00:57 #2792 [Verbose] > │ Test case 2. FA. Time: 834 │
00:00:57 #2793 [Verbose] > │ │
00:00:57 #2794 [Verbose] > │ Solution: "z" │
00:00:57 #2795 [Verbose] > │ Test case 1. F. Time: 213 │
00:00:57 #2796 [Verbose] > │ Test case 2. FA. Time: 155 │
00:00:57 #2797 [Verbose] > │ │
00:00:57 #2798 [Verbose] > │ Input | Expected │
00:00:57 #2799 [Verbose] > │ │
00:00:57 #2800 [Verbose] > │ | Result │
00:00:57 #2801 [Verbose] > │ │
00:00:57 #2802 [Verbose] > │ | Best │
00:00:57 #2803 [Verbose] > │ --- | --- │
00:00:57 #2804 [Verbose] > │ │
00:00:57 #2805 [Verbose] > │ | --- │
00:00:57 #2806 [Verbose] > │ │
00:00:57 #2807 [Verbose] > │ | --- │
00:00:57 #2808 [Verbose] > │ "abc" | "bca cab abc" │
00:00:57 #2809 [Verbose] > │ │
00:00:57 #2810 [Verbose] > │ | "bca cab abc" │
00:00:57 #2811 [Verbose] > │ │
00:00:57 #2812 [Verbose] > │ | struct (1L, 1007L) │
00:00:57 #2813 [Verbose] > │ "abcde" | "bcdea cdeab deabc eabcd abcde" │
00:00:57 #2814 [Verbose] > │ | "bcdea cdeab deabc eabcd abcde" │
00:00:57 #2815 [Verbose] > │ | struct (1L, 1492L) │
00:00:57 #2816 [Verbose] > │ "abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │
00:00:57 #2817 [Verbose] > │ hiabcdefg iabcdefgh abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd │
00:00:57 #2818 [Verbose] > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi" | struct (1L, 2204L) │
00:00:57 #2819 [Verbose] > │ "abab" | "baba abab baba abab" │
00:00:57 #2820 [Verbose] > │ | "baba abab baba abab" │
00:00:57 #2821 [Verbose] > │ | struct (1L, 1095L) │
00:00:57 #2822 [Verbose] > │ "aa" | "aa aa" │
00:00:57 #2823 [Verbose] > │ │
00:00:57 #2824 [Verbose] > │ | "aa aa" │
00:00:57 #2825 [Verbose] > │ │
00:00:57 #2826 [Verbose] > │ | struct (2L, 834L) │
00:00:57 #2827 [Verbose] > │ "z" | "z" │
00:00:57 #2828 [Verbose] > │ │
00:00:57 #2829 [Verbose] > │ | "z" │
00:00:57 #2830 [Verbose] > │ │
00:00:57 #2831 [Verbose] > │ | struct (2L, 155L) │
00:00:57 #2832 [Verbose] > │ │
00:00:57 #2833 [Verbose] > │ Average Ranking │
00:00:57 #2834 [Verbose] > │ Test case 1. Average Time: 1141L │
00:00:57 #2835 [Verbose] > │ Test case 2. Average Time: 1530L │
00:00:57 #2836 [Verbose] > │ │
00:00:57 #2837 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:57 #2838 [Verbose] >
00:00:57 #2839 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:57 #2840 [Verbose] > // // test
00:00:57 #2841 [Verbose] > // // rust=
00:00:57 #2842 [Verbose] > // // print_code=false
00:00:57 #2843 [Verbose] >
00:00:57 #2844 [Verbose] > // rotate_strings_tests ()
00:00:57 #2845 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0130-4124-2494-2293f368f2a5\main.spi
00:00:57 #2846 [Verbose] >
00:00:57 #2847 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:00:57 #2848 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:57 #2849 [Verbose] > │ ## binary_search_tests │
00:00:57 #2850 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:57 #2851 [Verbose] >
00:00:57 #2852 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:57 #2853 [Verbose] > // // test
00:00:57 #2854 [Verbose] > // // timeout=60000
00:00:57 #2855 [Verbose] > // // print_code=true
00:00:57 #2856 [Verbose] >
00:00:57 #2857 [Verbose] > inl binary_search_semi_open_1 arr target left right =
00:00:57 #2858 [Verbose] > inl rec body left right =
00:00:57 #2859 [Verbose] > if left >= right
00:00:57 #2860 [Verbose] > then None
00:00:57 #2861 [Verbose] > else
00:00:57 #2862 [Verbose] > inl mid = (left + right) / 2
00:00:57 #2863 [Verbose] > inl item = index arr mid
00:00:57 #2864 [Verbose] > if item = target
00:00:57 #2865 [Verbose] > then Some mid
00:00:57 #2866 [Verbose] > elif item < target
00:00:57 #2867 [Verbose] > then loop (mid + 1) right
00:00:57 #2868 [Verbose] > else loop left mid
00:00:57 #2869 [Verbose] > and inl loop left right =
00:00:57 #2870 [Verbose] > if var_is right |> not
00:00:57 #2871 [Verbose] > then body left right
00:00:57 #2872 [Verbose] > else
00:00:57 #2873 [Verbose] > inl left = dyn left
00:00:57 #2874 [Verbose] > join body left right
00:00:57 #2875 [Verbose] > loop left right
00:00:57 #2876 [Verbose] >
00:00:57 #2877 [Verbose] > inl binary_search_closed_1 arr target left right =
00:00:57 #2878 [Verbose] > inl rec body left right =
00:00:57 #2879 [Verbose] > if left > right
00:00:57 #2880 [Verbose] > then None
00:00:57 #2881 [Verbose] > else
00:00:57 #2882 [Verbose] > inl mid = (left + right) / 2
00:00:57 #2883 [Verbose] > inl item = index arr mid
00:00:57 #2884 [Verbose] > if item = target
00:00:57 #2885 [Verbose] > then Some mid
00:00:57 #2886 [Verbose] > elif item < target
00:00:57 #2887 [Verbose] > then loop (mid + 1) right
00:00:57 #2888 [Verbose] > else loop left (mid - 1)
00:00:57 #2889 [Verbose] > and inl loop left right =
00:00:57 #2890 [Verbose] > if var_is right |> not
00:00:57 #2891 [Verbose] > then body left right
00:00:57 #2892 [Verbose] > else
00:00:57 #2893 [Verbose] > inl left = dyn left
00:00:57 #2894 [Verbose] > join body left right
00:00:57 #2895 [Verbose] > loop left right
00:00:57 #2896 [Verbose] >
00:00:57 #2897 [Verbose] > inl binary_search_semi_open_2 arr target left right =
00:00:57 #2898 [Verbose] > let rec body left right =
00:00:57 #2899 [Verbose] > if left >= right
00:00:57 #2900 [Verbose] > then None
00:00:57 #2901 [Verbose] > else
00:00:57 #2902 [Verbose] > inl mid = (left + right) / 2
00:00:57 #2903 [Verbose] > inl item = index arr mid
00:00:57 #2904 [Verbose] > if item = target
00:00:57 #2905 [Verbose] > then Some mid
00:00:57 #2906 [Verbose] > elif item < target
00:00:57 #2907 [Verbose] > then loop (mid + 1) right
00:00:57 #2908 [Verbose] > else loop left mid
00:00:57 #2909 [Verbose] > and inl loop left right = body left right
00:00:57 #2910 [Verbose] > loop left right
00:00:57 #2911 [Verbose] >
00:00:57 #2912 [Verbose] > inl binary_search_closed_2 arr target left right =
00:00:57 #2913 [Verbose] > let rec body left right =
00:00:57 #2914 [Verbose] > if left > right
00:00:57 #2915 [Verbose] > then None
00:00:57 #2916 [Verbose] > else
00:00:57 #2917 [Verbose] > inl mid = (left + right) / 2
00:00:57 #2918 [Verbose] > inl item = index arr mid
00:00:57 #2919 [Verbose] > if item = target
00:00:57 #2920 [Verbose] > then Some mid
00:00:57 #2921 [Verbose] > elif item < target
00:00:57 #2922 [Verbose] > then loop (mid + 1) right
00:00:57 #2923 [Verbose] > else loop left (mid - 1)
00:00:57 #2924 [Verbose] > and inl loop left right = body left right
00:00:57 #2925 [Verbose] > loop left right
00:00:57 #2926 [Verbose] >
00:00:57 #2927 [Verbose] > inl get_solutions () =
00:00:57 #2928 [Verbose] > [[
00:00:57 #2929 [Verbose] > "semi_open_1",
00:00:57 #2930 [Verbose] > fun (arr, (target, len)) =>
00:00:57 #2931 [Verbose] > binary_search_semi_open_1 arr target 0 len
00:00:57 #2932 [Verbose] >
00:00:57 #2933 [Verbose] > "closed_1",
00:00:57 #2934 [Verbose] > fun (arr, (target, len)) =>
00:00:57 #2935 [Verbose] > binary_search_closed_1 arr target 0 (len - 1)
00:00:57 #2936 [Verbose] >
00:00:57 #2937 [Verbose] > "semi_open_2",
00:00:57 #2938 [Verbose] > fun (arr, (target, len)) =>
00:00:57 #2939 [Verbose] > binary_search_semi_open_2 arr target 0 len
00:00:57 #2940 [Verbose] >
00:00:57 #2941 [Verbose] > "closed_2",
00:00:57 #2942 [Verbose] > fun (arr, (target, len)) =>
00:00:57 #2943 [Verbose] > binary_search_closed_2 arr target 0 (len - 1)
00:00:57 #2944 [Verbose] > ]]
00:00:57 #2945 [Verbose] >
00:00:57 #2946 [Verbose] > inl rec binary_search_tests () =
00:00:57 #2947 [Verbose] > inl arr_with_len target len arr =
00:00:57 #2948 [Verbose] > arr, (target, (len |> optionm'.default_with fun () => length arr))
00:00:57 #2949 [Verbose] >
00:00:57 #2950 [Verbose] > inl test_cases = [[
00:00:57 #2951 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 None), (Some 3i32)
00:00:57 #2952 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 None), (Some 0i32)
00:00:57 #2953 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 None), (Some 6i32)
00:00:57 #2954 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 None), None
00:00:57 #2955 [Verbose] > ((am'.init_series 1i32 100 1) |> arr_with_len 60 None), (Some 59)
00:00:57 #2956 [Verbose] >
00:00:57 #2957 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 (Some 7)), (Some
00:00:57 #2958 [Verbose] > 3i32)
00:00:57 #2959 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 (Some 7)), (Some
00:00:57 #2960 [Verbose] > 0i32)
00:00:57 #2961 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 (Some 7)), (Some
00:00:57 #2962 [Verbose] > 6i32)
00:00:57 #2963 [Verbose] > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 (Some 7)), None
00:00:57 #2964 [Verbose] > ((am'.init_series 1i32 100 1) |> arr_with_len 60 (Some 100)), (Some 59)
00:00:57 #2965 [Verbose] > ]]
00:00:57 #2966 [Verbose] >
00:00:57 #2967 [Verbose] > inl solutions = get_solutions ()
00:00:57 #2968 [Verbose] >
00:00:57 #2969 [Verbose] > // inl is_fast () = true
00:00:57 #2970 [Verbose] >
00:00:57 #2971 [Verbose] > inl count =
00:00:57 #2972 [Verbose] > if is_fast ()
00:00:57 #2973 [Verbose] > then 1000i32
00:00:57 #2974 [Verbose] > else 8000000i32
00:00:57 #2975 [Verbose] >
00:00:57 #2976 [Verbose] > run_all (nameof binary_search_tests) count solutions test_cases
00:00:57 #2977 [Verbose] > |> sort_result_list
00:00:57 #2978 [Verbose] >
00:00:57 #2979 [Verbose] >
00:00:57 #2980 [Verbose] > let main () =
00:00:57 #2981 [Verbose] > binary_search_tests ()
00:00:57 #2982 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0130-4141-4134-48b7a8877e6f\main.spi
00:01:29 #2983 [Verbose] >
00:01:29 #2984 [Verbose] > ╭─[ 32.55s - stdout ]──────────────────────────────────────────────────────────╮
00:01:29 #2985 [Verbose] > │ type Mut0 = {mutable l0 : int32} │
00:01:29 #2986 [Verbose] > │ and [<Struct>] US0 = │
00:01:29 #2987 [Verbose] > │ | US0_0 │
00:01:29 #2988 [Verbose] > │ | US0_1 of f1_0 : int32 │
00:01:29 #2989 [Verbose] > │ and UH0 = │
00:01:29 #2990 [Verbose] > │ | UH0_0 of (int32 []) * int32 * int32 * US0 * UH0 │
00:01:29 #2991 [Verbose] > │ | UH0_1 │
00:01:29 #2992 [Verbose] > │ and Mut1 = {mutable l0 : uint64} │
00:01:29 #2993 [Verbose] > │ and UH1 = │
00:01:29 #2994 [Verbose] > │ | UH1_0 of int32 * string * (struct ((int32 []) * int32 * int32) -> US0) │
00:01:29 #2995 [Verbose] > │ * UH1 │
00:01:29 #2996 [Verbose] > │ | UH1_1 │
00:01:29 #2997 [Verbose] > │ and UH2 = │
00:01:29 #2998 [Verbose] > │ | UH2_0 of string * UH2 │
00:01:29 #2999 [Verbose] > │ | UH2_1 │
00:01:29 #3000 [Verbose] > │ and [<Struct>] US1 = │
00:01:29 #3001 [Verbose] > │ | US1_0 │
00:01:29 #3002 [Verbose] > │ | US1_1 of f1_0 : System.ConsoleColor │
00:01:29 #3003 [Verbose] > │ and UH3 = │
00:01:29 #3004 [Verbose] > │ | UH3_0 of int64 * int64 * UH3 │
00:01:29 #3005 [Verbose] > │ | UH3_1 │
00:01:29 #3006 [Verbose] > │ and Mut2 = {mutable l0 : uint64; mutable l1 : UH3; mutable l2 : int64} │
00:01:29 #3007 [Verbose] > │ and UH4 = │
00:01:29 #3008 [Verbose] > │ | UH4_0 of UH2 * US1 * UH4 │
00:01:29 #3009 [Verbose] > │ | UH4_1 │
00:01:29 #3010 [Verbose] > │ and [<Struct>] US2 = │
00:01:29 #3011 [Verbose] > │ | US2_0 │
00:01:29 #3012 [Verbose] > │ | US2_1 of f1_0 : int64 │
00:01:29 #3013 [Verbose] > │ and UH5 = │
00:01:29 #3014 [Verbose] > │ | UH5_0 of int32 * int64 * UH5 │
00:01:29 #3015 [Verbose] > │ | UH5_1 │
00:01:29 #3016 [Verbose] > │ and Mut3 = {mutable l0 : uint64; mutable l1 : UH5; mutable l2 : int32} │
00:01:29 #3017 [Verbose] > │ and UH6 = │
00:01:29 #3018 [Verbose] > │ | UH6_0 of int32 * string * UH6 │
00:01:29 #3019 [Verbose] > │ | UH6_1 │
00:01:29 #3020 [Verbose] > │ let rec method1 (v0 : Mut0) : bool = │
00:01:29 #3021 [Verbose] > │ let v1 : int32 = v0.l0 │
00:01:29 #3022 [Verbose] > │ let v2 : bool = v1 < 100 │
00:01:29 #3023 [Verbose] > │ v2 │
00:01:29 #3024 [Verbose] > │ and method3 (v0 : UH0, v1 : uint64) : uint64 = │
00:01:29 #3025 [Verbose] > │ match v0 with │
00:01:29 #3026 [Verbose] > │ | UH0_0(v2, v3, v4, v5, v6) -> (* Cons *) │
00:01:29 #3027 [Verbose] > │ let v7 : uint64 = v1 + 1UL │
00:01:29 #3028 [Verbose] > │ method3(v6, v7) │
00:01:29 #3029 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:01:29 #3030 [Verbose] > │ v1 │
00:01:29 #3031 [Verbose] > │ and method4 (v0 : (struct ((int32 []) * int32 * int32 * US0) []), v1 : UH0, │
00:01:29 #3032 [Verbose] > │ v2 : uint64) : uint64 = │
00:01:29 #3033 [Verbose] > │ match v1 with │
00:01:29 #3034 [Verbose] > │ | UH0_0(v3, v4, v5, v6, v7) -> (* Cons *) │
00:01:29 #3035 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5, v6) │
00:01:29 #3036 [Verbose] > │ let v8 : uint64 = v2 + 1UL │
00:01:29 #3037 [Verbose] > │ method4(v0, v7, v8) │
00:01:29 #3038 [Verbose] > │ | UH0_1 -> (* Nil *) │
00:01:29 #3039 [Verbose] > │ v2 │
00:01:29 #3040 [Verbose] > │ and method2 (v0 : UH0) : (struct ((int32 []) * int32 * int32 * US0) []) = │
00:01:29 #3041 [Verbose] > │ let v1 : uint64 = 0UL │
00:01:29 #3042 [Verbose] > │ let v2 : uint64 = method3(v0, v1) │
00:01:29 #3043 [Verbose] > │ let v3 : (struct ((int32 []) * int32 * int32 * US0) []) = │
00:01:29 #3044 [Verbose] > │ Array.zeroCreate<struct ((int32 []) * int32 * int32 * US0)> │
00:01:29 #3045 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:01:29 #3046 [Verbose] > │ let v4 : uint64 = 0UL │
00:01:29 #3047 [Verbose] > │ let v5 : uint64 = method4(v3, v0, v4) │
00:01:29 #3048 [Verbose] > │ v3 │
00:01:29 #3049 [Verbose] > │ and method5 (v0 : uint64, v1 : Mut1) : bool = │
00:01:29 #3050 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:01:29 #3051 [Verbose] > │ let v3 : bool = v2 < v0 │
00:01:29 #3052 [Verbose] > │ v3 │
00:01:29 #3053 [Verbose] > │ and method6 (v0 : (int32 []), v1 : int32, v2 : int32, v3 : int32) : US0 = │
00:01:29 #3054 [Verbose] > │ let v4 : bool = v3 >= v2 │
00:01:29 #3055 [Verbose] > │ if v4 then │
00:01:29 #3056 [Verbose] > │ US0_0 │
00:01:29 #3057 [Verbose] > │ else │
00:01:29 #3058 [Verbose] > │ let v6 : int32 = v3 + v2 │
00:01:29 #3059 [Verbose] > │ let v7 : int32 = v6 / 2 │
00:01:29 #3060 [Verbose] > │ let v8 : int32 = v0.[int v7] │
00:01:29 #3061 [Verbose] > │ let v9 : bool = v8 = v1 │
00:01:29 #3062 [Verbose] > │ if v9 then │
00:01:29 #3063 [Verbose] > │ US0_1(v7) │
00:01:29 #3064 [Verbose] > │ else │
00:01:29 #3065 [Verbose] > │ let v11 : bool = v8 < v1 │
00:01:29 #3066 [Verbose] > │ if v11 then │
00:01:29 #3067 [Verbose] > │ let v12 : int32 = v7 + 1 │
00:01:29 #3068 [Verbose] > │ method6(v0, v1, v2, v12) │
00:01:29 #3069 [Verbose] > │ else │
00:01:29 #3070 [Verbose] > │ method6(v0, v1, v7, v3) │
00:01:29 #3071 [Verbose] > │ and closure1 () struct (v0 : (int32 []), v1 : int32, v2 : int32) : US0 = │
00:01:29 #3072 [Verbose] > │ let v3 : int32 = 0 │
00:01:29 #3073 [Verbose] > │ method6(v0, v1, v2, v3) │
00:01:29 #3074 [Verbose] > │ and method7 (v0 : (int32 []), v1 : int32, v2 : int32, v3 : int32) : US0 = │
00:01:29 #3075 [Verbose] > │ let v4 : bool = v3 > v2 │
00:01:29 #3076 [Verbose] > │ if v4 then │
00:01:29 #3077 [Verbose] > │ US0_0 │
00:01:29 #3078 [Verbose] > │ else │
00:01:29 #3079 [Verbose] > │ let v6 : int32 = v3 + v2 │
00:01:29 #3080 [Verbose] > │ let v7 : int32 = v6 / 2 │
00:01:29 #3081 [Verbose] > │ let v8 : int32 = v0.[int v7] │
00:01:29 #3082 [Verbose] > │ let v9 : bool = v8 = v1 │
00:01:29 #3083 [Verbose] > │ if v9 then │
00:01:29 #3084 [Verbose] > │ US0_1(v7) │
00:01:29 #3085 [Verbose] > │ else │
00:01:29 #3086 [Verbose] > │ let v11 : bool = v8 < v1 │
00:01:29 #3087 [Verbose] > │ if v11 then │
00:01:29 #3088 [Verbose] > │ let v12 : int32 = v7 + 1 │
00:01:29 #3089 [Verbose] > │ method7(v0, v1, v2, v12) │
00:01:29 #3090 [Verbose] > │ else │
00:01:29 #3091 [Verbose] > │ let v14 : int32 = v7 - 1 │
00:01:29 #3092 [Verbose] > │ method7(v0, v1, v14, v3) │
00:01:29 #3093 [Verbose] > │ and closure2 () struct (v0 : (int32 []), v1 : int32, v2 : int32) : US0 = │
00:01:29 #3094 [Verbose] > │ let v3 : int32 = v2 - 1 │
00:01:29 #3095 [Verbose] > │ let v4 : int32 = 0 │
00:01:29 #3096 [Verbose] > │ method7(v0, v1, v3, v4) │
00:01:29 #3097 [Verbose] > │ and method8 (v0 : (int32 []), v1 : int32, v2 : int32, v3 : int32) : US0 = │
00:01:29 #3098 [Verbose] > │ let v4 : bool = v2 >= v3 │
00:01:29 #3099 [Verbose] > │ if v4 then │
00:01:29 #3100 [Verbose] > │ US0_0 │
00:01:29 #3101 [Verbose] > │ else │
00:01:29 #3102 [Verbose] > │ let v6 : int32 = v2 + v3 │
00:01:29 #3103 [Verbose] > │ let v7 : int32 = v6 / 2 │
00:01:29 #3104 [Verbose] > │ let v8 : int32 = v0.[int v7] │
00:01:29 #3105 [Verbose] > │ let v9 : bool = v8 = v1 │
00:01:29 #3106 [Verbose] > │ if v9 then │
00:01:29 #3107 [Verbose] > │ US0_1(v7) │
00:01:29 #3108 [Verbose] > │ else │
00:01:29 #3109 [Verbose] > │ let v11 : bool = v8 < v1 │
00:01:29 #3110 [Verbose] > │ if v11 then │
00:01:29 #3111 [Verbose] > │ let v12 : int32 = v7 + 1 │
00:01:29 #3112 [Verbose] > │ method8(v0, v1, v12, v3) │
00:01:29 #3113 [Verbose] > │ else │
00:01:29 #3114 [Verbose] > │ method8(v0, v1, v2, v7) │
00:01:29 #3115 [Verbose] > │ and closure3 () struct (v0 : (int32 []), v1 : int32, v2 : int32) : US0 = │
00:01:29 #3116 [Verbose] > │ let v3 : int32 = 0 │
00:01:29 #3117 [Verbose] > │ method8(v0, v1, v3, v2) │
00:01:29 #3118 [Verbose] > │ and method9 (v0 : (int32 []), v1 : int32, v2 : int32, v3 : int32) : US0 = │
00:01:29 #3119 [Verbose] > │ let v4 : bool = v2 > v3 │
00:01:29 #3120 [Verbose] > │ if v4 then │
00:01:29 #3121 [Verbose] > │ US0_0 │
00:01:29 #3122 [Verbose] > │ else │
00:01:29 #3123 [Verbose] > │ let v6 : int32 = v2 + v3 │
00:01:29 #3124 [Verbose] > │ let v7 : int32 = v6 / 2 │
00:01:29 #3125 [Verbose] > │ let v8 : int32 = v0.[int v7] │
00:01:29 #3126 [Verbose] > │ let v9 : bool = v8 = v1 │
00:01:29 #3127 [Verbose] > │ if v9 then │
00:01:29 #3128 [Verbose] > │ US0_1(v7) │
00:01:29 #3129 [Verbose] > │ else │
00:01:29 #3130 [Verbose] > │ let v11 : bool = v8 < v1 │
00:01:29 #3131 [Verbose] > │ if v11 then │
00:01:29 #3132 [Verbose] > │ let v12 : int32 = v7 + 1 │
00:01:29 #3133 [Verbose] > │ method9(v0, v1, v12, v3) │
00:01:29 #3134 [Verbose] > │ else │
00:01:29 #3135 [Verbose] > │ let v14 : int32 = v7 - 1 │
00:01:29 #3136 [Verbose] > │ method9(v0, v1, v2, v14) │
00:01:29 #3137 [Verbose] > │ and closure4 () struct (v0 : (int32 []), v1 : int32, v2 : int32) : US0 = │
00:01:29 #3138 [Verbose] > │ let v3 : int32 = v2 - 1 │
00:01:29 #3139 [Verbose] > │ let v4 : int32 = 0 │
00:01:29 #3140 [Verbose] > │ method9(v0, v1, v4, v3) │
00:01:29 #3141 [Verbose] > │ and method11 (v0 : UH1, v1 : uint64) : uint64 = │
00:01:29 #3142 [Verbose] > │ match v0 with │
00:01:29 #3143 [Verbose] > │ | UH1_0(v2, v3, v4, v5) -> (* Cons *) │
00:01:29 #3144 [Verbose] > │ let v6 : uint64 = v1 + 1UL │
00:01:29 #3145 [Verbose] > │ method11(v5, v6) │
00:01:29 #3146 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:01:29 #3147 [Verbose] > │ v1 │
00:01:29 #3148 [Verbose] > │ and method12 (v0 : (struct (int32 * string * (struct ((int32 []) * int32 * │
00:01:29 #3149 [Verbose] > │ int32) -> US0)) []), v1 : UH1, v2 : uint64) : uint64 = │
00:01:29 #3150 [Verbose] > │ match v1 with │
00:01:29 #3151 [Verbose] > │ | UH1_0(v3, v4, v5, v6) -> (* Cons *) │
00:01:29 #3152 [Verbose] > │ v0.[int v2] <- struct (v3, v4, v5) │
00:01:29 #3153 [Verbose] > │ let v7 : uint64 = v2 + 1UL │
00:01:29 #3154 [Verbose] > │ method12(v0, v6, v7) │
00:01:29 #3155 [Verbose] > │ | UH1_1 -> (* Nil *) │
00:01:29 #3156 [Verbose] > │ v2 │
00:01:29 #3157 [Verbose] > │ and method10 (v0 : UH1) : (struct (int32 * string * (struct ((int32 []) * │
00:01:29 #3158 [Verbose] > │ int32 * int32) -> US0)) []) = │
00:01:29 #3159 [Verbose] > │ let v1 : uint64 = 0UL │
00:01:29 #3160 [Verbose] > │ let v2 : uint64 = method11(v0, v1) │
00:01:29 #3161 [Verbose] > │ let v3 : (struct (int32 * string * (struct ((int32 []) * int32 * int32) │
00:01:29 #3162 [Verbose] > │ -> US0)) []) = Array.zeroCreate<struct (int32 * string * (struct ((int32 []) │
00:01:29 #3163 [Verbose] > │ * int32 * int32) -> US0))> (System.Convert.ToInt32(v2)) │
00:01:29 #3164 [Verbose] > │ let v4 : uint64 = 0UL │
00:01:29 #3165 [Verbose] > │ let v5 : uint64 = method12(v3, v0, v4) │
00:01:29 #3166 [Verbose] > │ v3 │
00:01:29 #3167 [Verbose] > │ and method13 (v0 : Mut0) : bool = │
00:01:29 #3168 [Verbose] > │ let v1 : int32 = v0.l0 │
00:01:29 #3169 [Verbose] > │ let v2 : bool = v1 < 8000001 │
00:01:29 #3170 [Verbose] > │ v2 │
00:01:29 #3171 [Verbose] > │ and closure5 (v0 : (int32 []), v1 : int32, v2 : int32, v3 : (struct ((int32 │
00:01:29 #3172 [Verbose] > │ []) * int32 * int32) -> US0)) (v4 : int32) : US0 = │
00:01:29 #3173 [Verbose] > │ v3 struct (v0, v1, v2) │
00:01:29 #3174 [Verbose] > │ and method14 (v0 : US0, v1 : (US0 []), v2 : uint64) : bool = │
00:01:29 #3175 [Verbose] > │ let v3 : uint64 = System.Convert.ToUInt64 v1.Length │
00:01:29 #3176 [Verbose] > │ let v4 : bool = v2 < v3 │
00:01:29 #3177 [Verbose] > │ if v4 then │
00:01:29 #3178 [Verbose] > │ let v5 : US0 = v1.[int v2] │
00:01:29 #3179 [Verbose] > │ let v9 : bool = │
00:01:29 #3180 [Verbose] > │ match v0, v5 with │
00:01:29 #3181 [Verbose] > │ | US0_0, US0_0 -> (* None *) │
00:01:29 #3182 [Verbose] > │ true │
00:01:29 #3183 [Verbose] > │ | US0_1(v6), US0_1(v7) -> (* Some *) │
00:01:29 #3184 [Verbose] > │ let v8 : bool = v6 = v7 │
00:01:29 #3185 [Verbose] > │ v8 │
00:01:29 #3186 [Verbose] > │ | _ -> │
00:01:29 #3187 [Verbose] > │ false │
00:01:29 #3188 [Verbose] > │ if v9 then │
00:01:29 #3189 [Verbose] > │ let v10 : uint64 = v2 + 1UL │
00:01:29 #3190 [Verbose] > │ method14(v0, v1, v10) │
00:01:29 #3191 [Verbose] > │ else │
00:01:29 #3192 [Verbose] > │ false │
00:01:29 #3193 [Verbose] > │ else │
00:01:30 #3194 [Verbose] > │ true │
00:01:30 #3195 [Verbose] > │ and method15 (v0 : uint64, v1 : Mut2) : bool = │
00:01:30 #3196 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:01:30 #3197 [Verbose] > │ let v3 : bool = v2 < v0 │
00:01:30 #3198 [Verbose] > │ v3 │
00:01:30 #3199 [Verbose] > │ and method16 (v0 : UH3, v1 : UH3) : UH3 = │
00:01:30 #3200 [Verbose] > │ match v0 with │
00:01:30 #3201 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3202 [Verbose] > │ let v5 : UH3 = UH3_0(v2, v3, v1) │
00:01:30 #3203 [Verbose] > │ method16(v4, v5) │
00:01:30 #3204 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:01:30 #3205 [Verbose] > │ v1 │
00:01:30 #3206 [Verbose] > │ and method18 (v0 : UH3, v1 : int32) : int32 = │
00:01:30 #3207 [Verbose] > │ match v0 with │
00:01:30 #3208 [Verbose] > │ | UH3_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3209 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:01:30 #3210 [Verbose] > │ method18(v4, v5) │
00:01:30 #3211 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:01:30 #3212 [Verbose] > │ v1 │
00:01:30 #3213 [Verbose] > │ and method19 (v0 : (struct (int64 * int64) []), v1 : UH3, v2 : int32) : │
00:01:30 #3214 [Verbose] > │ int32 = │
00:01:30 #3215 [Verbose] > │ match v1 with │
00:01:30 #3216 [Verbose] > │ | UH3_0(v3, v4, v5) -> (* Cons *) │
00:01:30 #3217 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:01:30 #3218 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:01:30 #3219 [Verbose] > │ method19(v0, v5, v6) │
00:01:30 #3220 [Verbose] > │ | UH3_1 -> (* Nil *) │
00:01:30 #3221 [Verbose] > │ v2 │
00:01:30 #3222 [Verbose] > │ and method17 (v0 : UH3) : (struct (int64 * int64) []) = │
00:01:30 #3223 [Verbose] > │ let v1 : int32 = 0 │
00:01:30 #3224 [Verbose] > │ let v2 : int32 = method18(v0, v1) │
00:01:30 #3225 [Verbose] > │ let v3 : (struct (int64 * int64) []) = Array.zeroCreate<struct (int64 * │
00:01:30 #3226 [Verbose] > │ int64)> (v2) │
00:01:30 #3227 [Verbose] > │ let v4 : int32 = 0 │
00:01:30 #3228 [Verbose] > │ let v5 : int32 = method19(v3, v0, v4) │
00:01:30 #3229 [Verbose] > │ v3 │
00:01:30 #3230 [Verbose] > │ and method20 (v0 : int32, v1 : Mut0) : bool = │
00:01:30 #3231 [Verbose] > │ let v2 : int32 = v1.l0 │
00:01:30 #3232 [Verbose] > │ let v3 : bool = v2 < v0 │
00:01:30 #3233 [Verbose] > │ v3 │
00:01:30 #3234 [Verbose] > │ and closure6 () struct (v0 : int64, v1 : int64) : int64 = │
00:01:30 #3235 [Verbose] > │ v1 │
00:01:30 #3236 [Verbose] > │ and method22 (v0 : UH4, v1 : uint64) : uint64 = │
00:01:30 #3237 [Verbose] > │ match v0 with │
00:01:30 #3238 [Verbose] > │ | UH4_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3239 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:01:30 #3240 [Verbose] > │ method22(v4, v5) │
00:01:30 #3241 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:01:30 #3242 [Verbose] > │ v1 │
00:01:30 #3243 [Verbose] > │ and method23 (v0 : (struct (UH2 * US1) []), v1 : UH4, v2 : uint64) : uint64 │
00:01:30 #3244 [Verbose] > │ = │
00:01:30 #3245 [Verbose] > │ match v1 with │
00:01:30 #3246 [Verbose] > │ | UH4_0(v3, v4, v5) -> (* Cons *) │
00:01:30 #3247 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:01:30 #3248 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:01:30 #3249 [Verbose] > │ method23(v0, v5, v6) │
00:01:30 #3250 [Verbose] > │ | UH4_1 -> (* Nil *) │
00:01:30 #3251 [Verbose] > │ v2 │
00:01:30 #3252 [Verbose] > │ and method21 (v0 : UH4) : (struct (UH2 * US1) []) = │
00:01:30 #3253 [Verbose] > │ let v1 : uint64 = 0UL │
00:01:30 #3254 [Verbose] > │ let v2 : uint64 = method22(v0, v1) │
00:01:30 #3255 [Verbose] > │ let v3 : (struct (UH2 * US1) []) = Array.zeroCreate<struct (UH2 * US1)> │
00:01:30 #3256 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:01:30 #3257 [Verbose] > │ let v4 : uint64 = 0UL │
00:01:30 #3258 [Verbose] > │ let v5 : uint64 = method23(v3, v0, v4) │
00:01:30 #3259 [Verbose] > │ v3 │
00:01:30 #3260 [Verbose] > │ and method25 (v0 : UH2, v1 : uint64) : uint64 = │
00:01:30 #3261 [Verbose] > │ match v0 with │
00:01:30 #3262 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:01:30 #3263 [Verbose] > │ let v4 : uint64 = v1 + 1UL │
00:01:30 #3264 [Verbose] > │ method25(v3, v4) │
00:01:30 #3265 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:01:30 #3266 [Verbose] > │ v1 │
00:01:30 #3267 [Verbose] > │ and method26 (v0 : (string []), v1 : UH2, v2 : uint64) : uint64 = │
00:01:30 #3268 [Verbose] > │ match v1 with │
00:01:30 #3269 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:01:30 #3270 [Verbose] > │ v0.[int v2] <- v3 │
00:01:30 #3271 [Verbose] > │ let v5 : uint64 = v2 + 1UL │
00:01:30 #3272 [Verbose] > │ method26(v0, v4, v5) │
00:01:30 #3273 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:01:30 #3274 [Verbose] > │ v2 │
00:01:30 #3275 [Verbose] > │ and method24 (v0 : UH2) : (string []) = │
00:01:30 #3276 [Verbose] > │ let v1 : uint64 = 0UL │
00:01:30 #3277 [Verbose] > │ let v2 : uint64 = method25(v0, v1) │
00:01:30 #3278 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> │
00:01:30 #3279 [Verbose] > │ (System.Convert.ToInt32(v2)) │
00:01:30 #3280 [Verbose] > │ let v4 : uint64 = 0UL │
00:01:30 #3281 [Verbose] > │ let v5 : uint64 = method26(v3, v0, v4) │
00:01:30 #3282 [Verbose] > │ v3 │
00:01:30 #3283 [Verbose] > │ and closure7 () (v0 : int64) : US2 = │
00:01:30 #3284 [Verbose] > │ US2_1(v0) │
00:01:30 #3285 [Verbose] > │ and method27 (v0 : uint64, v1 : Mut3) : bool = │
00:01:30 #3286 [Verbose] > │ let v2 : uint64 = v1.l0 │
00:01:30 #3287 [Verbose] > │ let v3 : bool = v2 < v0 │
00:01:30 #3288 [Verbose] > │ v3 │
00:01:30 #3289 [Verbose] > │ and method28 (v0 : UH5, v1 : UH5) : UH5 = │
00:01:30 #3290 [Verbose] > │ match v0 with │
00:01:30 #3291 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3292 [Verbose] > │ let v5 : UH5 = UH5_0(v2, v3, v1) │
00:01:30 #3293 [Verbose] > │ method28(v4, v5) │
00:01:30 #3294 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:01:30 #3295 [Verbose] > │ v1 │
00:01:30 #3296 [Verbose] > │ and method30 (v0 : UH5, v1 : int32) : int32 = │
00:01:30 #3297 [Verbose] > │ match v0 with │
00:01:30 #3298 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3299 [Verbose] > │ let v5 : int32 = v1 + 1 │
00:01:30 #3300 [Verbose] > │ method30(v4, v5) │
00:01:30 #3301 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:01:30 #3302 [Verbose] > │ v1 │
00:01:30 #3303 [Verbose] > │ and method31 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : int32) : │
00:01:30 #3304 [Verbose] > │ int32 = │
00:01:30 #3305 [Verbose] > │ match v1 with │
00:01:30 #3306 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:01:30 #3307 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:01:30 #3308 [Verbose] > │ let v6 : int32 = v2 + 1 │
00:01:30 #3309 [Verbose] > │ method31(v0, v5, v6) │
00:01:30 #3310 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:01:30 #3311 [Verbose] > │ v2 │
00:01:30 #3312 [Verbose] > │ and method29 (v0 : UH5) : (struct (int32 * int64) []) = │
00:01:30 #3313 [Verbose] > │ let v1 : int32 = 0 │
00:01:30 #3314 [Verbose] > │ let v2 : int32 = method30(v0, v1) │
00:01:30 #3315 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:01:30 #3316 [Verbose] > │ int64)> (v2) │
00:01:30 #3317 [Verbose] > │ let v4 : int32 = 0 │
00:01:30 #3318 [Verbose] > │ let v5 : int32 = method31(v3, v0, v4) │
00:01:30 #3319 [Verbose] > │ v3 │
00:01:30 #3320 [Verbose] > │ and method32 (v0 : UH2, v1 : UH6, v2 : int32) : struct (UH6 * int32) = │
00:01:30 #3321 [Verbose] > │ match v0 with │
00:01:30 #3322 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:01:30 #3323 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:01:30 #3324 [Verbose] > │ let v6 : UH6 = UH6_0(v2, v3, v1) │
00:01:30 #3325 [Verbose] > │ method32(v4, v6, v5) │
00:01:30 #3326 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:01:30 #3327 [Verbose] > │ struct (v1, v2) │
00:01:30 #3328 [Verbose] > │ and method33 (v0 : UH6, v1 : UH6) : UH6 = │
00:01:30 #3329 [Verbose] > │ match v0 with │
00:01:30 #3330 [Verbose] > │ | UH6_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3331 [Verbose] > │ let v5 : UH6 = UH6_0(v2, v3, v1) │
00:01:30 #3332 [Verbose] > │ method33(v4, v5) │
00:01:30 #3333 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:01:30 #3334 [Verbose] > │ v1 │
00:01:30 #3335 [Verbose] > │ and method34 (v0 : Map<int32, int64>, v1 : UH6, v2 : UH2) : UH2 = │
00:01:30 #3336 [Verbose] > │ match v1 with │
00:01:30 #3337 [Verbose] > │ | UH6_0(v3, v4, v5) -> (* Cons *) │
00:01:30 #3338 [Verbose] > │ let v6 : UH2 = method34(v0, v5, v2) │
00:01:30 #3339 [Verbose] > │ let v7 : int64 = v0.[v3] │
00:01:30 #3340 [Verbose] > │ let v8 : int32 = int32 v7 │
00:01:30 #3341 [Verbose] > │ let v9 : string = v4.PadRight v8 │
00:01:30 #3342 [Verbose] > │ UH2_0(v9, v6) │
00:01:30 #3343 [Verbose] > │ | UH6_1 -> (* Nil *) │
00:01:30 #3344 [Verbose] > │ v2 │
00:01:30 #3345 [Verbose] > │ and method36 (v0 : UH2, v1 : int32) : int32 = │
00:01:30 #3346 [Verbose] > │ match v0 with │
00:01:30 #3347 [Verbose] > │ | UH2_0(v2, v3) -> (* Cons *) │
00:01:30 #3348 [Verbose] > │ let v4 : int32 = v1 + 1 │
00:01:30 #3349 [Verbose] > │ method36(v3, v4) │
00:01:30 #3350 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:01:30 #3351 [Verbose] > │ v1 │
00:01:30 #3352 [Verbose] > │ and method37 (v0 : (string []), v1 : UH2, v2 : int32) : int32 = │
00:01:30 #3353 [Verbose] > │ match v1 with │
00:01:30 #3354 [Verbose] > │ | UH2_0(v3, v4) -> (* Cons *) │
00:01:30 #3355 [Verbose] > │ v0.[int v2] <- v3 │
00:01:30 #3356 [Verbose] > │ let v5 : int32 = v2 + 1 │
00:01:30 #3357 [Verbose] > │ method37(v0, v4, v5) │
00:01:30 #3358 [Verbose] > │ | UH2_1 -> (* Nil *) │
00:01:30 #3359 [Verbose] > │ v2 │
00:01:30 #3360 [Verbose] > │ and method35 (v0 : UH2) : (string []) = │
00:01:30 #3361 [Verbose] > │ let v1 : int32 = 0 │
00:01:30 #3362 [Verbose] > │ let v2 : int32 = method36(v0, v1) │
00:01:30 #3363 [Verbose] > │ let v3 : (string []) = Array.zeroCreate<string> (v2) │
00:01:30 #3364 [Verbose] > │ let v4 : int32 = 0 │
00:01:30 #3365 [Verbose] > │ let v5 : int32 = method37(v3, v0, v4) │
00:01:30 #3366 [Verbose] > │ v3 │
00:01:30 #3367 [Verbose] > │ and method39 (v0 : UH5, v1 : uint64) : uint64 = │
00:01:30 #3368 [Verbose] > │ match v0 with │
00:01:30 #3369 [Verbose] > │ | UH5_0(v2, v3, v4) -> (* Cons *) │
00:01:30 #3370 [Verbose] > │ let v5 : uint64 = v1 + 1UL │
00:01:30 #3371 [Verbose] > │ method39(v4, v5) │
00:01:30 #3372 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:01:30 #3373 [Verbose] > │ v1 │
00:01:30 #3374 [Verbose] > │ and method40 (v0 : (struct (int32 * int64) []), v1 : UH5, v2 : uint64) : │
00:01:30 #3375 [Verbose] > │ uint64 = │
00:01:30 #3376 [Verbose] > │ match v1 with │
00:01:30 #3377 [Verbose] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
00:01:30 #3378 [Verbose] > │ v0.[int v2] <- struct (v3, v4) │
00:01:30 #3379 [Verbose] > │ let v6 : uint64 = v2 + 1UL │
00:01:30 #3380 [Verbose] > │ method40(v0, v5, v6) │
00:01:30 #3381 [Verbose] > │ | UH5_1 -> (* Nil *) │
00:01:30 #3382 [Verbose] > │ v2 │
00:01:30 #3383 [Verbose] > │ and method38 (v0 : UH5) : (struct (int32 * int64) []) = │
00:01:30 #3384 [Verbose] > │ let v1 : uint64 = 0UL │
00:01:30 #3385 [Verbose] > │ let v2 : uint64 = method39(v0, v1) │
00:01:30 #3386 [Verbose] > │ let v3 : (struct (int32 * int64) []) = Array.zeroCreate<struct (int32 * │
00:01:30 #3387 [Verbose] > │ int64)> (System.Convert.ToInt32(v2)) │
00:01:30 #3388 [Verbose] > │ let v4 : uint64 = 0UL │
00:01:30 #3389 [Verbose] > │ let v5 : uint64 = method40(v3, v0, v4) │
00:01:30 #3390 [Verbose] > │ v3 │
00:01:30 #3391 [Verbose] > │ and closure8 () struct (v0 : int32, v1 : int64) : int64 = │
00:01:30 #3392 [Verbose] > │ v1 │
00:01:30 #3393 [Verbose] > │ and closure0 () () : unit = │
00:01:30 #3394 [Verbose] > │ let v0 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3395 [Verbose] > │ let v1 : int32 = v0.Length │
00:01:30 #3396 [Verbose] > │ let v2 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3397 [Verbose] > │ let v3 : int32 = v2.Length │
00:01:30 #3398 [Verbose] > │ let v4 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3399 [Verbose] > │ let v5 : int32 = v4.Length │
00:01:30 #3400 [Verbose] > │ let v6 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3401 [Verbose] > │ let v7 : int32 = v6.Length │
00:01:30 #3402 [Verbose] > │ let v8 : (int32 []) = Array.zeroCreate<int32> (100) │
00:01:30 #3403 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3404 [Verbose] > │ while method1(v9) do │
00:01:30 #3405 [Verbose] > │ let v11 : int32 = v9.l0 │
00:01:30 #3406 [Verbose] > │ let v12 : int32 = 1 + v11 │
00:01:30 #3407 [Verbose] > │ v8.[int v11] <- v12 │
00:01:30 #3408 [Verbose] > │ let v13 : int32 = v11 + 1 │
00:01:30 #3409 [Verbose] > │ v9.l0 <- v13 │
00:01:30 #3410 [Verbose] > │ () │
00:01:30 #3411 [Verbose] > │ let v14 : int32 = v8.Length │
00:01:30 #3412 [Verbose] > │ let v15 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3413 [Verbose] > │ let v16 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3414 [Verbose] > │ let v17 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3415 [Verbose] > │ let v18 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3416 [Verbose] > │ let v19 : (int32 []) = Array.zeroCreate<int32> (100) │
00:01:30 #3417 [Verbose] > │ let v20 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3418 [Verbose] > │ while method1(v20) do │
00:01:30 #3419 [Verbose] > │ let v22 : int32 = v20.l0 │
00:01:30 #3420 [Verbose] > │ let v23 : int32 = 1 + v22 │
00:01:30 #3421 [Verbose] > │ v19.[int v22] <- v23 │
00:01:30 #3422 [Verbose] > │ let v24 : int32 = v22 + 1 │
00:01:30 #3423 [Verbose] > │ v20.l0 <- v24 │
00:01:30 #3424 [Verbose] > │ () │
00:01:30 #3425 [Verbose] > │ let v25 : (unit -> unit) = closure0() │
00:01:30 #3426 [Verbose] > │ let v26 : string = nameof v25 │
00:01:30 #3427 [Verbose] > │ let v27 : string = "" │
00:01:30 #3428 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3429 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3430 [Verbose] > │ let v28 : string = $"Test: {v26}" │
00:01:30 #3431 [Verbose] > │ System.Console.WriteLine v28 │
00:01:30 #3432 [Verbose] > │ let v29 : int32 = 6 │
00:01:30 #3433 [Verbose] > │ let v30 : int32 = 3 │
00:01:30 #3434 [Verbose] > │ let v31 : US0 = US0_1(v30) │
00:01:30 #3435 [Verbose] > │ let v32 : int32 = 1 │
00:01:30 #3436 [Verbose] > │ let v33 : int32 = 0 │
00:01:30 #3437 [Verbose] > │ let v34 : US0 = US0_1(v33) │
00:01:30 #3438 [Verbose] > │ let v35 : int32 = 11 │
00:01:30 #3439 [Verbose] > │ let v36 : int32 = 6 │
00:01:30 #3440 [Verbose] > │ let v37 : US0 = US0_1(v36) │
00:01:30 #3441 [Verbose] > │ let v38 : int32 = 12 │
00:01:30 #3442 [Verbose] > │ let v39 : US0 = US0_0 │
00:01:30 #3443 [Verbose] > │ let v40 : int32 = 60 │
00:01:30 #3444 [Verbose] > │ let v41 : int32 = 59 │
00:01:30 #3445 [Verbose] > │ let v42 : US0 = US0_1(v41) │
00:01:30 #3446 [Verbose] > │ let v43 : int32 = 6 │
00:01:30 #3447 [Verbose] > │ let v44 : int32 = 7 │
00:01:30 #3448 [Verbose] > │ let v45 : int32 = 3 │
00:01:30 #3449 [Verbose] > │ let v46 : US0 = US0_1(v45) │
00:01:30 #3450 [Verbose] > │ let v47 : int32 = 1 │
00:01:30 #3451 [Verbose] > │ let v48 : int32 = 7 │
00:01:30 #3452 [Verbose] > │ let v49 : int32 = 0 │
00:01:30 #3453 [Verbose] > │ let v50 : US0 = US0_1(v49) │
00:01:30 #3454 [Verbose] > │ let v51 : int32 = 11 │
00:01:30 #3455 [Verbose] > │ let v52 : int32 = 7 │
00:01:30 #3456 [Verbose] > │ let v53 : int32 = 6 │
00:01:30 #3457 [Verbose] > │ let v54 : US0 = US0_1(v53) │
00:01:30 #3458 [Verbose] > │ let v55 : int32 = 12 │
00:01:30 #3459 [Verbose] > │ let v56 : int32 = 7 │
00:01:30 #3460 [Verbose] > │ let v57 : US0 = US0_0 │
00:01:30 #3461 [Verbose] > │ let v58 : int32 = 60 │
00:01:30 #3462 [Verbose] > │ let v59 : int32 = 100 │
00:01:30 #3463 [Verbose] > │ let v60 : int32 = 59 │
00:01:30 #3464 [Verbose] > │ let v61 : US0 = US0_1(v60) │
00:01:30 #3465 [Verbose] > │ let v62 : UH0 = UH0_1 │
00:01:30 #3466 [Verbose] > │ let v63 : UH0 = UH0_0(v19, v58, v59, v61, v62) │
00:01:30 #3467 [Verbose] > │ let v64 : UH0 = UH0_0(v18, v55, v56, v57, v63) │
00:01:30 #3468 [Verbose] > │ let v65 : UH0 = UH0_0(v17, v51, v52, v54, v64) │
00:01:30 #3469 [Verbose] > │ let v66 : UH0 = UH0_0(v16, v47, v48, v50, v65) │
00:01:30 #3470 [Verbose] > │ let v67 : UH0 = UH0_0(v15, v43, v44, v46, v66) │
00:01:30 #3471 [Verbose] > │ let v68 : UH0 = UH0_0(v8, v40, v14, v42, v67) │
00:01:30 #3472 [Verbose] > │ let v69 : UH0 = UH0_0(v6, v38, v7, v39, v68) │
00:01:30 #3473 [Verbose] > │ let v70 : UH0 = UH0_0(v4, v35, v5, v37, v69) │
00:01:30 #3474 [Verbose] > │ let v71 : UH0 = UH0_0(v2, v32, v3, v34, v70) │
00:01:30 #3475 [Verbose] > │ let v72 : UH0 = UH0_0(v0, v29, v1, v31, v71) │
00:01:30 #3476 [Verbose] > │ let v73 : (struct ((int32 []) * int32 * int32 * US0) []) = method2(v72) │
00:01:30 #3477 [Verbose] > │ let v74 : uint64 = System.Convert.ToUInt64 v73.Length │
00:01:30 #3478 [Verbose] > │ let v75 : (struct (string * string * string * (int64 [])) []) = │
00:01:30 #3479 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:01:30 #3480 [Verbose] > │ (System.Convert.ToInt32(v74)) │
00:01:30 #3481 [Verbose] > │ let v76 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3482 [Verbose] > │ while method5(v74, v76) do │
00:01:30 #3483 [Verbose] > │ let v78 : uint64 = v76.l0 │
00:01:30 #3484 [Verbose] > │ let struct (v79 : (int32 []), v80 : int32, v81 : int32, v82 : US0) = │
00:01:30 #3485 [Verbose] > │ v73.[int v78] │
00:01:30 #3486 [Verbose] > │ let v83 : string = $"%A{struct (v79, v80, v81)}" │
00:01:30 #3487 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3488 [Verbose] > │ let v84 : string = $"Solution: {v83} " │
00:01:30 #3489 [Verbose] > │ System.Console.WriteLine v84 │
00:01:30 #3490 [Verbose] > │ let v85 : int32 = 0 │
00:01:30 #3491 [Verbose] > │ let v86 : string = "semi_open_1" │
00:01:30 #3492 [Verbose] > │ let v87 : (struct ((int32 []) * int32 * int32) -> US0) = closure1() │
00:01:30 #3493 [Verbose] > │ let v88 : int32 = 1 │
00:01:30 #3494 [Verbose] > │ let v89 : string = "closed_1" │
00:01:30 #3495 [Verbose] > │ let v90 : (struct ((int32 []) * int32 * int32) -> US0) = closure2() │
00:01:30 #3496 [Verbose] > │ let v91 : int32 = 2 │
00:01:30 #3497 [Verbose] > │ let v92 : string = "semi_open_2" │
00:01:30 #3498 [Verbose] > │ let v93 : (struct ((int32 []) * int32 * int32) -> US0) = closure3() │
00:01:30 #3499 [Verbose] > │ let v94 : int32 = 3 │
00:01:30 #3500 [Verbose] > │ let v95 : string = "closed_2" │
00:01:30 #3501 [Verbose] > │ let v96 : (struct ((int32 []) * int32 * int32) -> US0) = closure4() │
00:01:30 #3502 [Verbose] > │ let v97 : UH1 = UH1_1 │
00:01:30 #3503 [Verbose] > │ let v98 : UH1 = UH1_0(v94, v95, v96, v97) │
00:01:30 #3504 [Verbose] > │ let v99 : UH1 = UH1_0(v91, v92, v93, v98) │
00:01:30 #3505 [Verbose] > │ let v100 : UH1 = UH1_0(v88, v89, v90, v99) │
00:01:30 #3506 [Verbose] > │ let v101 : UH1 = UH1_0(v85, v86, v87, v100) │
00:01:30 #3507 [Verbose] > │ let v102 : (struct (int32 * string * (struct ((int32 []) * int32 * │
00:01:30 #3508 [Verbose] > │ int32) -> US0)) []) = method10(v101) │
00:01:30 #3509 [Verbose] > │ let v103 : uint64 = System.Convert.ToUInt64 v102.Length │
00:01:30 #3510 [Verbose] > │ let v104 : (struct (US0 * int64) []) = Array.zeroCreate<struct (US0 │
00:01:30 #3511 [Verbose] > │ * int64)> (System.Convert.ToInt32(v103)) │
00:01:30 #3512 [Verbose] > │ let v105 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3513 [Verbose] > │ while method5(v103, v105) do │
00:01:30 #3514 [Verbose] > │ let v107 : uint64 = v105.l0 │
00:01:30 #3515 [Verbose] > │ let struct (v108 : int32, v109 : string, v110 : (struct ((int32 │
00:01:30 #3516 [Verbose] > │ []) * int32 * int32) -> US0)) = v102.[int v107] │
00:01:30 #3517 [Verbose] > │ let mutable result = None │
00:01:30 #3518 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #3519 [Verbose] > │ #if !WASM │
00:01:30 #3520 [Verbose] > │ () │
00:01:30 #3521 [Verbose] > │ #else │
00:01:30 #3522 [Verbose] > │ () │
00:01:30 #3523 [Verbose] > │ #endif │
00:01:30 #3524 [Verbose] > │ #else │
00:01:30 #3525 [Verbose] > │ System.GC.Collect () │
00:01:30 #3526 [Verbose] > │ () │
00:01:30 #3527 [Verbose] > │ #endif │
00:01:30 #3528 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #3529 [Verbose] > │ result |> Option.get │
00:01:30 #3530 [Verbose] > │ let v111 : (unit -> System.Diagnostics.Stopwatch) = │
00:01:30 #3531 [Verbose] > │ System.Diagnostics.Stopwatch │
00:01:30 #3532 [Verbose] > │ let v112 : System.Diagnostics.Stopwatch = v111 () │
00:01:30 #3533 [Verbose] > │ v112.Start () │
00:01:30 #3534 [Verbose] > │ let v113 : int64 = v112.ElapsedMilliseconds │
00:01:30 #3535 [Verbose] > │ let v114 : (int32 []) = Array.zeroCreate<int32> (8000001) │
00:01:30 #3536 [Verbose] > │ let v115 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3537 [Verbose] > │ while method13(v115) do │
00:01:30 #3538 [Verbose] > │ let v117 : int32 = v115.l0 │
00:01:30 #3539 [Verbose] > │ v114.[int v117] <- v117 │
00:01:30 #3540 [Verbose] > │ let v118 : int32 = v117 + 1 │
00:01:30 #3541 [Verbose] > │ v115.l0 <- v118 │
00:01:30 #3542 [Verbose] > │ () │
00:01:30 #3543 [Verbose] > │ let v119 : (int32 -> US0) = closure5(v79, v80, v81, v110) │
00:01:30 #3544 [Verbose] > │ let v120 : (US0 []) = v114 |> Array.Parallel.map v119 │
00:01:30 #3545 [Verbose] > │ let v121 : int32 = v120.Length │
00:01:30 #3546 [Verbose] > │ let v122 : int32 = v121 - 1 │
00:01:30 #3547 [Verbose] > │ let v123 : US0 = v120.[int v122] │
00:01:30 #3548 [Verbose] > │ let v124 : int64 = v112.ElapsedMilliseconds │
00:01:30 #3549 [Verbose] > │ let v125 : int64 = v124 - v113 │
00:01:30 #3550 [Verbose] > │ let v126 : string = $"Test case {v108 + 1}. {v109}. Time: {v125} │
00:01:30 #3551 [Verbose] > │ " │
00:01:30 #3552 [Verbose] > │ System.Console.WriteLine v126 │
00:01:30 #3553 [Verbose] > │ v104.[int v107] <- struct (v123, v125) │
00:01:30 #3554 [Verbose] > │ let v127 : uint64 = v107 + 1UL │
00:01:30 #3555 [Verbose] > │ v105.l0 <- v127 │
00:01:30 #3556 [Verbose] > │ () │
00:01:30 #3557 [Verbose] > │ let v128 : uint64 = System.Convert.ToUInt64 v104.Length │
00:01:30 #3558 [Verbose] > │ let v129 : (US0 []) = Array.zeroCreate<US0> │
00:01:30 #3559 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #3560 [Verbose] > │ let v130 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3561 [Verbose] > │ while method5(v128, v130) do │
00:01:30 #3562 [Verbose] > │ let v132 : uint64 = v130.l0 │
00:01:30 #3563 [Verbose] > │ let struct (v133 : US0, v134 : int64) = v104.[int v132] │
00:01:30 #3564 [Verbose] > │ v129.[int v132] <- v133 │
00:01:30 #3565 [Verbose] > │ let v135 : uint64 = v132 + 1UL │
00:01:30 #3566 [Verbose] > │ v130.l0 <- v135 │
00:01:30 #3567 [Verbose] > │ () │
00:01:30 #3568 [Verbose] > │ let v136 : uint64 = System.Convert.ToUInt64 v129.Length │
00:01:30 #3569 [Verbose] > │ let v137 : bool = v136 <= 1UL │
00:01:30 #3570 [Verbose] > │ if v137 then │
00:01:30 #3571 [Verbose] > │ () │
00:01:30 #3572 [Verbose] > │ else │
00:01:30 #3573 [Verbose] > │ let v138 : US0 = v129.[int 0UL] │
00:01:30 #3574 [Verbose] > │ let v139 : uint64 = 0UL │
00:01:30 #3575 [Verbose] > │ let v140 : bool = method14(v138, v129, v139) │
00:01:30 #3576 [Verbose] > │ if v140 then │
00:01:30 #3577 [Verbose] > │ () │
00:01:30 #3578 [Verbose] > │ else │
00:01:30 #3579 [Verbose] > │ let v141 : string = $"Challenge error: {v129}" │
00:01:30 #3580 [Verbose] > │ failwith<unit> v141 │
00:01:30 #3581 [Verbose] > │ let v142 : string = $"%A{v82}" │
00:01:30 #3582 [Verbose] > │ let v143 : (US0 []) = Array.zeroCreate<US0> │
00:01:30 #3583 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #3584 [Verbose] > │ let v144 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3585 [Verbose] > │ while method5(v128, v144) do │
00:01:30 #3586 [Verbose] > │ let v146 : uint64 = v144.l0 │
00:01:30 #3587 [Verbose] > │ let struct (v147 : US0, v148 : int64) = v104.[int v146] │
00:01:30 #3588 [Verbose] > │ v143.[int v146] <- v147 │
00:01:30 #3589 [Verbose] > │ let v149 : uint64 = v146 + 1UL │
00:01:30 #3590 [Verbose] > │ v144.l0 <- v149 │
00:01:30 #3591 [Verbose] > │ () │
00:01:30 #3592 [Verbose] > │ let v150 : US0 = v143.[int 0UL] │
00:01:30 #3593 [Verbose] > │ let v151 : string = $"%A{v150}" │
00:01:30 #3594 [Verbose] > │ let v152 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #3595 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #3596 [Verbose] > │ let v153 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3597 [Verbose] > │ while method5(v128, v153) do │
00:01:30 #3598 [Verbose] > │ let v155 : uint64 = v153.l0 │
00:01:30 #3599 [Verbose] > │ let struct (v156 : US0, v157 : int64) = v104.[int v155] │
00:01:30 #3600 [Verbose] > │ v152.[int v155] <- v157 │
00:01:30 #3601 [Verbose] > │ let v158 : uint64 = v155 + 1UL │
00:01:30 #3602 [Verbose] > │ v153.l0 <- v158 │
00:01:30 #3603 [Verbose] > │ () │
00:01:30 #3604 [Verbose] > │ v75.[int v78] <- struct (v142, v83, v151, v152) │
00:01:30 #3605 [Verbose] > │ let v159 : uint64 = v78 + 1UL │
00:01:30 #3606 [Verbose] > │ v76.l0 <- v159 │
00:01:30 #3607 [Verbose] > │ () │
00:01:30 #3608 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v75.Length │
00:01:30 #3609 [Verbose] > │ let v161 : (struct (UH2 * US1) []) = Array.zeroCreate<struct (UH2 * │
00:01:30 #3610 [Verbose] > │ US1)> (System.Convert.ToInt32(v160)) │
00:01:30 #3611 [Verbose] > │ let v162 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3612 [Verbose] > │ while method5(v160, v162) do │
00:01:30 #3613 [Verbose] > │ let v164 : uint64 = v162.l0 │
00:01:30 #3614 [Verbose] > │ let struct (v165 : string, v166 : string, v167 : string, v168 : │
00:01:30 #3615 [Verbose] > │ (int64 [])) = v75.[int v164] │
00:01:30 #3616 [Verbose] > │ let v169 : uint64 = System.Convert.ToUInt64 v168.Length │
00:01:30 #3617 [Verbose] > │ let v170 : UH3 = UH3_1 │
00:01:30 #3618 [Verbose] > │ let v171 : Mut2 = {l0 = 0UL; l1 = v170; l2 = 0L} : Mut2 │
00:01:30 #3619 [Verbose] > │ while method15(v169, v171) do │
00:01:30 #3620 [Verbose] > │ let v173 : uint64 = v171.l0 │
00:01:30 #3621 [Verbose] > │ let struct (v174 : UH3, v175 : int64) = v171.l1, v171.l2 │
00:01:30 #3622 [Verbose] > │ let v176 : int64 = v168.[int v173] │
00:01:30 #3623 [Verbose] > │ let v177 : int64 = v175 + 1L │
00:01:30 #3624 [Verbose] > │ let v178 : uint64 = v173 + 1UL │
00:01:30 #3625 [Verbose] > │ let v179 : UH3 = UH3_0(v175, v176, v174) │
00:01:30 #3626 [Verbose] > │ v171.l0 <- v178 │
00:01:30 #3627 [Verbose] > │ v171.l1 <- v179 │
00:01:30 #3628 [Verbose] > │ v171.l2 <- v177 │
00:01:30 #3629 [Verbose] > │ () │
00:01:30 #3630 [Verbose] > │ let struct (v180 : UH3, v181 : int64) = v171.l1, v171.l2 │
00:01:30 #3631 [Verbose] > │ let v182 : UH3 = UH3_1 │
00:01:30 #3632 [Verbose] > │ let v183 : UH3 = method16(v180, v182) │
00:01:30 #3633 [Verbose] > │ let v184 : (struct (int64 * int64) []) = method17(v183) │
00:01:30 #3634 [Verbose] > │ let v185 : int32 = v184.Length │
00:01:30 #3635 [Verbose] > │ let v186 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:01:30 #3636 [Verbose] > │ (int64 * int64)> (v185) │
00:01:30 #3637 [Verbose] > │ let v187 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3638 [Verbose] > │ while method20(v185, v187) do │
00:01:30 #3639 [Verbose] > │ let v189 : int32 = v187.l0 │
00:01:30 #3640 [Verbose] > │ let struct (v190 : int64, v191 : int64) = v184.[int v189] │
00:01:30 #3641 [Verbose] > │ let v192 : int64 = v190 + 1L │
00:01:30 #3642 [Verbose] > │ v186.[int v189] <- struct (v192, v191) │
00:01:30 #3643 [Verbose] > │ let v193 : int32 = v189 + 1 │
00:01:30 #3644 [Verbose] > │ v187.l0 <- v193 │
00:01:30 #3645 [Verbose] > │ () │
00:01:30 #3646 [Verbose] > │ let v194 : (struct (int64 * int64) -> int64) = closure6() │
00:01:30 #3647 [Verbose] > │ let v195 : (struct (int64 * int64) []) = v186 |> Array.sortBy v194 │
00:01:30 #3648 [Verbose] > │ let struct (v196 : int64, v197 : int64) = v195.[int 0] │
00:01:30 #3649 [Verbose] > │ let v198 : string = $"%A{struct (v196, v197)}" │
00:01:30 #3650 [Verbose] > │ let v199 : bool = v165 = v167 │
00:01:30 #3651 [Verbose] > │ let v204 : US1 = │
00:01:30 #3652 [Verbose] > │ if v199 then │
00:01:30 #3653 [Verbose] > │ let v200 : System.ConsoleColor = │
00:01:30 #3654 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:01:30 #3655 [Verbose] > │ US1_1(v200) │
00:01:30 #3656 [Verbose] > │ else │
00:01:30 #3657 [Verbose] > │ let v202 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:01:30 #3658 [Verbose] > │ US1_1(v202) │
00:01:30 #3659 [Verbose] > │ let v205 : UH2 = UH2_1 │
00:01:30 #3660 [Verbose] > │ let v206 : UH2 = UH2_0(v198, v205) │
00:01:30 #3661 [Verbose] > │ let v207 : UH2 = UH2_0(v167, v206) │
00:01:30 #3662 [Verbose] > │ let v208 : UH2 = UH2_0(v165, v207) │
00:01:30 #3663 [Verbose] > │ let v209 : UH2 = UH2_0(v166, v208) │
00:01:30 #3664 [Verbose] > │ v161.[int v164] <- struct (v209, v204) │
00:01:30 #3665 [Verbose] > │ let v210 : uint64 = v164 + 1UL │
00:01:30 #3666 [Verbose] > │ v162.l0 <- v210 │
00:01:30 #3667 [Verbose] > │ () │
00:01:30 #3668 [Verbose] > │ let v211 : string = "Input" │
00:01:30 #3669 [Verbose] > │ let v212 : string = "Expected" │
00:01:30 #3670 [Verbose] > │ let v213 : string = "Result" │
00:01:30 #3671 [Verbose] > │ let v214 : string = "Best" │
00:01:30 #3672 [Verbose] > │ let v215 : UH2 = UH2_1 │
00:01:30 #3673 [Verbose] > │ let v216 : UH2 = UH2_0(v214, v215) │
00:01:30 #3674 [Verbose] > │ let v217 : UH2 = UH2_0(v213, v216) │
00:01:30 #3675 [Verbose] > │ let v218 : UH2 = UH2_0(v212, v217) │
00:01:30 #3676 [Verbose] > │ let v219 : UH2 = UH2_0(v211, v218) │
00:01:30 #3677 [Verbose] > │ let v220 : US1 = US1_0 │
00:01:30 #3678 [Verbose] > │ let v221 : string = "---" │
00:01:30 #3679 [Verbose] > │ let v222 : UH2 = UH2_1 │
00:01:30 #3680 [Verbose] > │ let v223 : UH2 = UH2_0(v221, v222) │
00:01:30 #3681 [Verbose] > │ let v224 : UH2 = UH2_0(v221, v223) │
00:01:30 #3682 [Verbose] > │ let v225 : UH2 = UH2_0(v221, v224) │
00:01:30 #3683 [Verbose] > │ let v226 : UH2 = UH2_0(v221, v225) │
00:01:30 #3684 [Verbose] > │ let v227 : US1 = US1_0 │
00:01:30 #3685 [Verbose] > │ let v228 : UH4 = UH4_1 │
00:01:30 #3686 [Verbose] > │ let v229 : UH4 = UH4_0(v226, v227, v228) │
00:01:30 #3687 [Verbose] > │ let v230 : UH4 = UH4_0(v219, v220, v229) │
00:01:30 #3688 [Verbose] > │ let v231 : (struct (UH2 * US1) []) = method21(v230) │
00:01:30 #3689 [Verbose] > │ let v232 : uint64 = System.Convert.ToUInt64 v231.Length │
00:01:30 #3690 [Verbose] > │ let v233 : uint64 = System.Convert.ToUInt64 v161.Length │
00:01:30 #3691 [Verbose] > │ let v234 : uint64 = v232 + v233 │
00:01:30 #3692 [Verbose] > │ let v235 : (struct (UH2 * US1) []) = Array.zeroCreate<struct (UH2 * │
00:01:30 #3693 [Verbose] > │ US1)> (System.Convert.ToInt32(v234)) │
00:01:30 #3694 [Verbose] > │ let v236 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3695 [Verbose] > │ while method5(v234, v236) do │
00:01:30 #3696 [Verbose] > │ let v238 : uint64 = v236.l0 │
00:01:30 #3697 [Verbose] > │ let v239 : bool = v238 < v232 │
00:01:30 #3698 [Verbose] > │ let struct (v245 : UH2, v246 : US1) = │
00:01:30 #3699 [Verbose] > │ if v239 then │
00:01:30 #3700 [Verbose] > │ let struct (v240 : UH2, v241 : US1) = v231.[int v238] │
00:01:30 #3701 [Verbose] > │ struct (v240, v241) │
00:01:30 #3702 [Verbose] > │ else │
00:01:30 #3703 [Verbose] > │ let v242 : uint64 = v238 - v232 │
00:01:30 #3704 [Verbose] > │ let struct (v243 : UH2, v244 : US1) = v161.[int v242] │
00:01:30 #3705 [Verbose] > │ struct (v243, v244) │
00:01:30 #3706 [Verbose] > │ v235.[int v238] <- struct (v245, v246) │
00:01:30 #3707 [Verbose] > │ let v247 : uint64 = v238 + 1UL │
00:01:30 #3708 [Verbose] > │ v236.l0 <- v247 │
00:01:30 #3709 [Verbose] > │ () │
00:01:30 #3710 [Verbose] > │ let v248 : uint64 = System.Convert.ToUInt64 v235.Length │
00:01:30 #3711 [Verbose] > │ let v249 : ((string []) []) = Array.zeroCreate<(string [])> │
00:01:30 #3712 [Verbose] > │ (System.Convert.ToInt32(v248)) │
00:01:30 #3713 [Verbose] > │ let v250 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3714 [Verbose] > │ while method5(v248, v250) do │
00:01:30 #3715 [Verbose] > │ let v252 : uint64 = v250.l0 │
00:01:30 #3716 [Verbose] > │ let struct (v253 : UH2, v254 : US1) = v235.[int v252] │
00:01:30 #3717 [Verbose] > │ let v255 : (string []) = method24(v253) │
00:01:30 #3718 [Verbose] > │ v249.[int v252] <- v255 │
00:01:30 #3719 [Verbose] > │ let v256 : uint64 = v252 + 1UL │
00:01:30 #3720 [Verbose] > │ v250.l0 <- v256 │
00:01:30 #3721 [Verbose] > │ () │
00:01:30 #3722 [Verbose] > │ let v257 : ((string []) []) = v249 |> Array.transpose │
00:01:30 #3723 [Verbose] > │ let v258 : uint64 = System.Convert.ToUInt64 v257.Length │
00:01:30 #3724 [Verbose] > │ let v259 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #3725 [Verbose] > │ (System.Convert.ToInt32(v258)) │
00:01:30 #3726 [Verbose] > │ let v260 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3727 [Verbose] > │ while method5(v258, v260) do │
00:01:30 #3728 [Verbose] > │ let v262 : uint64 = v260.l0 │
00:01:30 #3729 [Verbose] > │ let v263 : (string []) = v257.[int v262] │
00:01:30 #3730 [Verbose] > │ let v264 : uint64 = System.Convert.ToUInt64 v263.Length │
00:01:30 #3731 [Verbose] > │ let v265 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #3732 [Verbose] > │ (System.Convert.ToInt32(v264)) │
00:01:30 #3733 [Verbose] > │ let v266 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3734 [Verbose] > │ while method5(v264, v266) do │
00:01:30 #3735 [Verbose] > │ let v268 : uint64 = v266.l0 │
00:01:30 #3736 [Verbose] > │ let v269 : string = v263.[int v268] │
00:01:30 #3737 [Verbose] > │ let v270 : int64 = System.Convert.ToInt64 v269.Length │
00:01:30 #3738 [Verbose] > │ v265.[int v268] <- v270 │
00:01:30 #3739 [Verbose] > │ let v271 : uint64 = v268 + 1UL │
00:01:30 #3740 [Verbose] > │ v266.l0 <- v271 │
00:01:30 #3741 [Verbose] > │ () │
00:01:30 #3742 [Verbose] > │ let v272 : (int64 []) = v265 |> Array.sortDescending │
00:01:30 #3743 [Verbose] > │ let v273 : int64 option = v272 |> Array.tryItem 0 │
00:01:30 #3744 [Verbose] > │ let v274 : (int64 -> US2) = closure7() │
00:01:30 #3745 [Verbose] > │ let v275 : US2 = US2_0 │
00:01:30 #3746 [Verbose] > │ let v276 : US2 = v273 |> Option.map v274 |> Option.defaultValue v275 │
00:01:30 #3747 [Verbose] > │ let v279 : int64 = │
00:01:30 #3748 [Verbose] > │ match v276 with │
00:01:30 #3749 [Verbose] > │ | US2_0 -> (* None *) │
00:01:30 #3750 [Verbose] > │ 0L │
00:01:30 #3751 [Verbose] > │ | US2_1(v277) -> (* Some *) │
00:01:30 #3752 [Verbose] > │ v277 │
00:01:30 #3753 [Verbose] > │ v259.[int v262] <- v279 │
00:01:30 #3754 [Verbose] > │ let v280 : uint64 = v262 + 1UL │
00:01:30 #3755 [Verbose] > │ v260.l0 <- v280 │
00:01:30 #3756 [Verbose] > │ () │
00:01:30 #3757 [Verbose] > │ let v281 : uint64 = System.Convert.ToUInt64 v259.Length │
00:01:30 #3758 [Verbose] > │ let v282 : UH5 = UH5_1 │
00:01:30 #3759 [Verbose] > │ let v283 : Mut3 = {l0 = 0UL; l1 = v282; l2 = 0} : Mut3 │
00:01:30 #3760 [Verbose] > │ while method27(v281, v283) do │
00:01:30 #3761 [Verbose] > │ let v285 : uint64 = v283.l0 │
00:01:30 #3762 [Verbose] > │ let struct (v286 : UH5, v287 : int32) = v283.l1, v283.l2 │
00:01:30 #3763 [Verbose] > │ let v288 : int64 = v259.[int v285] │
00:01:30 #3764 [Verbose] > │ let v289 : int32 = v287 + 1 │
00:01:30 #3765 [Verbose] > │ let v290 : uint64 = v285 + 1UL │
00:01:30 #3766 [Verbose] > │ let v291 : UH5 = UH5_0(v287, v288, v286) │
00:01:30 #3767 [Verbose] > │ v283.l0 <- v290 │
00:01:30 #3768 [Verbose] > │ v283.l1 <- v291 │
00:01:30 #3769 [Verbose] > │ v283.l2 <- v289 │
00:01:30 #3770 [Verbose] > │ () │
00:01:30 #3771 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v283.l1, v283.l2 │
00:01:30 #3772 [Verbose] > │ let v294 : UH5 = UH5_1 │
00:01:30 #3773 [Verbose] > │ let v295 : UH5 = method28(v292, v294) │
00:01:30 #3774 [Verbose] > │ let v296 : (struct (int32 * int64) []) = method29(v295) │
00:01:30 #3775 [Verbose] > │ let v297 : Map<int32, int64> = v296 |> Array.map (fun (struct (a, b)) -> │
00:01:30 #3776 [Verbose] > │ a, b) |> Map.ofArray │
00:01:30 #3777 [Verbose] > │ let v298 : (struct ((string []) * US1) []) = Array.zeroCreate<struct │
00:01:30 #3778 [Verbose] > │ ((string []) * US1)> (System.Convert.ToInt32(v248)) │
00:01:30 #3779 [Verbose] > │ let v299 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3780 [Verbose] > │ while method5(v248, v299) do │
00:01:30 #3781 [Verbose] > │ let v301 : uint64 = v299.l0 │
00:01:30 #3782 [Verbose] > │ let struct (v302 : UH2, v303 : US1) = v235.[int v301] │
00:01:30 #3783 [Verbose] > │ let v304 : UH6 = UH6_1 │
00:01:30 #3784 [Verbose] > │ let v305 : int32 = 0 │
00:01:30 #3785 [Verbose] > │ let struct (v306 : UH6, v307 : int32) = method32(v302, v304, v305) │
00:01:30 #3786 [Verbose] > │ let v308 : UH6 = UH6_1 │
00:01:30 #3787 [Verbose] > │ let v309 : UH6 = method33(v306, v308) │
00:01:30 #3788 [Verbose] > │ let v310 : UH2 = UH2_1 │
00:01:30 #3789 [Verbose] > │ let v311 : UH2 = method34(v297, v309, v310) │
00:01:30 #3790 [Verbose] > │ let v312 : (string []) = method35(v311) │
00:01:30 #3791 [Verbose] > │ v298.[int v301] <- struct (v312, v303) │
00:01:30 #3792 [Verbose] > │ let v313 : uint64 = v301 + 1UL │
00:01:30 #3793 [Verbose] > │ v299.l0 <- v313 │
00:01:30 #3794 [Verbose] > │ () │
00:01:30 #3795 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3796 [Verbose] > │ let v314 : uint64 = System.Convert.ToUInt64 v298.Length │
00:01:30 #3797 [Verbose] > │ let v315 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3798 [Verbose] > │ while method5(v314, v315) do │
00:01:30 #3799 [Verbose] > │ let v317 : uint64 = v315.l0 │
00:01:30 #3800 [Verbose] > │ let struct (v318 : (string []), v319 : US1) = v298.[int v317] │
00:01:30 #3801 [Verbose] > │ match v319 with │
00:01:30 #3802 [Verbose] > │ | US1_0 -> (* None *) │
00:01:30 #3803 [Verbose] > │ let mutable result = None │
00:01:30 #3804 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #3805 [Verbose] > │ #if !WASM │
00:01:30 #3806 [Verbose] > │ () │
00:01:30 #3807 [Verbose] > │ #else │
00:01:30 #3808 [Verbose] > │ () │
00:01:30 #3809 [Verbose] > │ #endif │
00:01:30 #3810 [Verbose] > │ #else │
00:01:30 #3811 [Verbose] > │ System.Console.ResetColor () │
00:01:30 #3812 [Verbose] > │ () │
00:01:30 #3813 [Verbose] > │ #endif │
00:01:30 #3814 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #3815 [Verbose] > │ result |> Option.get │
00:01:30 #3816 [Verbose] > │ () │
00:01:30 #3817 [Verbose] > │ | US1_1(v320) -> (* Some *) │
00:01:30 #3818 [Verbose] > │ let mutable result = None │
00:01:30 #3819 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #3820 [Verbose] > │ #if !WASM │
00:01:30 #3821 [Verbose] > │ () │
00:01:30 #3822 [Verbose] > │ #else │
00:01:30 #3823 [Verbose] > │ () │
00:01:30 #3824 [Verbose] > │ #endif │
00:01:30 #3825 [Verbose] > │ #else │
00:01:30 #3826 [Verbose] > │ System.Console.ForegroundColor <- v320 │
00:01:30 #3827 [Verbose] > │ () │
00:01:30 #3828 [Verbose] > │ #endif │
00:01:30 #3829 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #3830 [Verbose] > │ result |> Option.get │
00:01:30 #3831 [Verbose] > │ () │
00:01:30 #3832 [Verbose] > │ let v321 : string = "\t| " │
00:01:30 #3833 [Verbose] > │ let v322 : string = System.String.Join (v321, v318) │
00:01:30 #3834 [Verbose] > │ System.Console.WriteLine v322 │
00:01:30 #3835 [Verbose] > │ let mutable result = None │
00:01:30 #3836 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #3837 [Verbose] > │ #if !WASM │
00:01:30 #3838 [Verbose] > │ () │
00:01:30 #3839 [Verbose] > │ #else │
00:01:30 #3840 [Verbose] > │ () │
00:01:30 #3841 [Verbose] > │ #endif │
00:01:30 #3842 [Verbose] > │ #else │
00:01:30 #3843 [Verbose] > │ System.Console.ResetColor () │
00:01:30 #3844 [Verbose] > │ () │
00:01:30 #3845 [Verbose] > │ #endif │
00:01:30 #3846 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #3847 [Verbose] > │ result |> Option.get │
00:01:30 #3848 [Verbose] > │ let v323 : uint64 = v317 + 1UL │
00:01:30 #3849 [Verbose] > │ v315.l0 <- v323 │
00:01:30 #3850 [Verbose] > │ () │
00:01:30 #3851 [Verbose] > │ let v324 : ((float []) []) = Array.zeroCreate<(float [])> │
00:01:30 #3852 [Verbose] > │ (System.Convert.ToInt32(v160)) │
00:01:30 #3853 [Verbose] > │ let v325 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3854 [Verbose] > │ while method5(v160, v325) do │
00:01:30 #3855 [Verbose] > │ let v327 : uint64 = v325.l0 │
00:01:30 #3856 [Verbose] > │ let struct (v328 : string, v329 : string, v330 : string, v331 : │
00:01:30 #3857 [Verbose] > │ (int64 [])) = v75.[int v327] │
00:01:30 #3858 [Verbose] > │ let v332 : (int64 -> float) = float │
00:01:30 #3859 [Verbose] > │ let v333 : uint64 = System.Convert.ToUInt64 v331.Length │
00:01:30 #3860 [Verbose] > │ let v334 : (float []) = Array.zeroCreate<float> │
00:01:30 #3861 [Verbose] > │ (System.Convert.ToInt32(v333)) │
00:01:30 #3862 [Verbose] > │ let v335 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3863 [Verbose] > │ while method5(v333, v335) do │
00:01:30 #3864 [Verbose] > │ let v337 : uint64 = v335.l0 │
00:01:30 #3865 [Verbose] > │ let v338 : int64 = v331.[int v337] │
00:01:30 #3866 [Verbose] > │ let v339 : float = v332 v338 │
00:01:30 #3867 [Verbose] > │ v334.[int v337] <- v339 │
00:01:30 #3868 [Verbose] > │ let v340 : uint64 = v337 + 1UL │
00:01:30 #3869 [Verbose] > │ v335.l0 <- v340 │
00:01:30 #3870 [Verbose] > │ () │
00:01:30 #3871 [Verbose] > │ v324.[int v327] <- v334 │
00:01:30 #3872 [Verbose] > │ let v341 : uint64 = v327 + 1UL │
00:01:30 #3873 [Verbose] > │ v325.l0 <- v341 │
00:01:30 #3874 [Verbose] > │ () │
00:01:30 #3875 [Verbose] > │ let v342 : ((float []) []) = v324 |> Array.transpose │
00:01:30 #3876 [Verbose] > │ let v343 : uint64 = System.Convert.ToUInt64 v342.Length │
00:01:30 #3877 [Verbose] > │ let v344 : (float []) = Array.zeroCreate<float> │
00:01:30 #3878 [Verbose] > │ (System.Convert.ToInt32(v343)) │
00:01:30 #3879 [Verbose] > │ let v345 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3880 [Verbose] > │ while method5(v343, v345) do │
00:01:30 #3881 [Verbose] > │ let v347 : uint64 = v345.l0 │
00:01:30 #3882 [Verbose] > │ let v348 : (float []) = v342.[int v347] │
00:01:30 #3883 [Verbose] > │ let v349 : float = v348 |> Array.average │
00:01:30 #3884 [Verbose] > │ v344.[int v347] <- v349 │
00:01:30 #3885 [Verbose] > │ let v350 : uint64 = v347 + 1UL │
00:01:30 #3886 [Verbose] > │ v345.l0 <- v350 │
00:01:30 #3887 [Verbose] > │ () │
00:01:30 #3888 [Verbose] > │ let v351 : (float -> int64) = int64 │
00:01:30 #3889 [Verbose] > │ let v352 : uint64 = System.Convert.ToUInt64 v344.Length │
00:01:30 #3890 [Verbose] > │ let v353 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #3891 [Verbose] > │ (System.Convert.ToInt32(v352)) │
00:01:30 #3892 [Verbose] > │ let v354 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3893 [Verbose] > │ while method5(v352, v354) do │
00:01:30 #3894 [Verbose] > │ let v356 : uint64 = v354.l0 │
00:01:30 #3895 [Verbose] > │ let v357 : float = v344.[int v356] │
00:01:30 #3896 [Verbose] > │ let v358 : int64 = v351 v357 │
00:01:30 #3897 [Verbose] > │ v353.[int v356] <- v358 │
00:01:30 #3898 [Verbose] > │ let v359 : uint64 = v356 + 1UL │
00:01:30 #3899 [Verbose] > │ v354.l0 <- v359 │
00:01:30 #3900 [Verbose] > │ () │
00:01:30 #3901 [Verbose] > │ let v360 : uint64 = System.Convert.ToUInt64 v353.Length │
00:01:30 #3902 [Verbose] > │ let v361 : UH5 = UH5_1 │
00:01:30 #3903 [Verbose] > │ let v362 : Mut3 = {l0 = 0UL; l1 = v361; l2 = 0} : Mut3 │
00:01:30 #3904 [Verbose] > │ while method27(v360, v362) do │
00:01:30 #3905 [Verbose] > │ let v364 : uint64 = v362.l0 │
00:01:30 #3906 [Verbose] > │ let struct (v365 : UH5, v366 : int32) = v362.l1, v362.l2 │
00:01:30 #3907 [Verbose] > │ let v367 : int64 = v353.[int v364] │
00:01:30 #3908 [Verbose] > │ let v368 : int32 = v366 + 1 │
00:01:30 #3909 [Verbose] > │ let v369 : uint64 = v364 + 1UL │
00:01:30 #3910 [Verbose] > │ let v370 : UH5 = UH5_0(v366, v367, v365) │
00:01:30 #3911 [Verbose] > │ v362.l0 <- v369 │
00:01:30 #3912 [Verbose] > │ v362.l1 <- v370 │
00:01:30 #3913 [Verbose] > │ v362.l2 <- v368 │
00:01:30 #3914 [Verbose] > │ () │
00:01:30 #3915 [Verbose] > │ let struct (v371 : UH5, v372 : int32) = v362.l1, v362.l2 │
00:01:30 #3916 [Verbose] > │ let v373 : UH5 = UH5_1 │
00:01:30 #3917 [Verbose] > │ let v374 : UH5 = method28(v371, v373) │
00:01:30 #3918 [Verbose] > │ let v375 : (struct (int32 * int64) []) = method38(v374) │
00:01:30 #3919 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3920 [Verbose] > │ let v376 : string = "Average Ranking " │
00:01:30 #3921 [Verbose] > │ System.Console.WriteLine v376 │
00:01:30 #3922 [Verbose] > │ let v377 : (struct (int32 * int64) -> int64) = closure8() │
00:01:30 #3923 [Verbose] > │ let v378 : (struct (int32 * int64) []) = v375 |> Array.sortBy v377 │
00:01:30 #3924 [Verbose] > │ let v379 : uint64 = System.Convert.ToUInt64 v378.Length │
00:01:30 #3925 [Verbose] > │ let v380 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #3926 [Verbose] > │ while method5(v379, v380) do │
00:01:30 #3927 [Verbose] > │ let v382 : uint64 = v380.l0 │
00:01:30 #3928 [Verbose] > │ let struct (v383 : int32, v384 : int64) = v378.[int v382] │
00:01:30 #3929 [Verbose] > │ let v385 : string = $"Test case %d{v383 + 1}. Average Time: %A{v384} │
00:01:30 #3930 [Verbose] > │ " │
00:01:30 #3931 [Verbose] > │ System.Console.WriteLine v385 │
00:01:30 #3932 [Verbose] > │ let v386 : uint64 = v382 + 1UL │
00:01:30 #3933 [Verbose] > │ v380.l0 <- v386 │
00:01:30 #3934 [Verbose] > │ () │
00:01:30 #3935 [Verbose] > │ () │
00:01:30 #3936 [Verbose] > │ and method0 () : unit = │
00:01:30 #3937 [Verbose] > │ let v0 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3938 [Verbose] > │ let v1 : int32 = v0.Length │
00:01:30 #3939 [Verbose] > │ let v2 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3940 [Verbose] > │ let v3 : int32 = v2.Length │
00:01:30 #3941 [Verbose] > │ let v4 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3942 [Verbose] > │ let v5 : int32 = v4.Length │
00:01:30 #3943 [Verbose] > │ let v6 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3944 [Verbose] > │ let v7 : int32 = v6.Length │
00:01:30 #3945 [Verbose] > │ let v8 : (int32 []) = Array.zeroCreate<int32> (100) │
00:01:30 #3946 [Verbose] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3947 [Verbose] > │ while method1(v9) do │
00:01:30 #3948 [Verbose] > │ let v11 : int32 = v9.l0 │
00:01:30 #3949 [Verbose] > │ let v12 : int32 = 1 + v11 │
00:01:30 #3950 [Verbose] > │ v8.[int v11] <- v12 │
00:01:30 #3951 [Verbose] > │ let v13 : int32 = v11 + 1 │
00:01:30 #3952 [Verbose] > │ v9.l0 <- v13 │
00:01:30 #3953 [Verbose] > │ () │
00:01:30 #3954 [Verbose] > │ let v14 : int32 = v8.Length │
00:01:30 #3955 [Verbose] > │ let v15 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3956 [Verbose] > │ let v16 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3957 [Verbose] > │ let v17 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3958 [Verbose] > │ let v18 : (int32 []) = [|1; 3; 4; 6; 8; 9; 11|] │
00:01:30 #3959 [Verbose] > │ let v19 : (int32 []) = Array.zeroCreate<int32> (100) │
00:01:30 #3960 [Verbose] > │ let v20 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #3961 [Verbose] > │ while method1(v20) do │
00:01:30 #3962 [Verbose] > │ let v22 : int32 = v20.l0 │
00:01:30 #3963 [Verbose] > │ let v23 : int32 = 1 + v22 │
00:01:30 #3964 [Verbose] > │ v19.[int v22] <- v23 │
00:01:30 #3965 [Verbose] > │ let v24 : int32 = v22 + 1 │
00:01:30 #3966 [Verbose] > │ v20.l0 <- v24 │
00:01:30 #3967 [Verbose] > │ () │
00:01:30 #3968 [Verbose] > │ let v25 : (unit -> unit) = closure0() │
00:01:30 #3969 [Verbose] > │ let v26 : string = nameof v25 │
00:01:30 #3970 [Verbose] > │ let v27 : string = "" │
00:01:30 #3971 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3972 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #3973 [Verbose] > │ let v28 : string = $"Test: {v26}" │
00:01:30 #3974 [Verbose] > │ System.Console.WriteLine v28 │
00:01:30 #3975 [Verbose] > │ let v29 : int32 = 6 │
00:01:30 #3976 [Verbose] > │ let v30 : int32 = 3 │
00:01:30 #3977 [Verbose] > │ let v31 : US0 = US0_1(v30) │
00:01:30 #3978 [Verbose] > │ let v32 : int32 = 1 │
00:01:30 #3979 [Verbose] > │ let v33 : int32 = 0 │
00:01:30 #3980 [Verbose] > │ let v34 : US0 = US0_1(v33) │
00:01:30 #3981 [Verbose] > │ let v35 : int32 = 11 │
00:01:30 #3982 [Verbose] > │ let v36 : int32 = 6 │
00:01:30 #3983 [Verbose] > │ let v37 : US0 = US0_1(v36) │
00:01:30 #3984 [Verbose] > │ let v38 : int32 = 12 │
00:01:30 #3985 [Verbose] > │ let v39 : US0 = US0_0 │
00:01:30 #3986 [Verbose] > │ let v40 : int32 = 60 │
00:01:30 #3987 [Verbose] > │ let v41 : int32 = 59 │
00:01:30 #3988 [Verbose] > │ let v42 : US0 = US0_1(v41) │
00:01:30 #3989 [Verbose] > │ let v43 : int32 = 6 │
00:01:30 #3990 [Verbose] > │ let v44 : int32 = 7 │
00:01:30 #3991 [Verbose] > │ let v45 : int32 = 3 │
00:01:30 #3992 [Verbose] > │ let v46 : US0 = US0_1(v45) │
00:01:30 #3993 [Verbose] > │ let v47 : int32 = 1 │
00:01:30 #3994 [Verbose] > │ let v48 : int32 = 7 │
00:01:30 #3995 [Verbose] > │ let v49 : int32 = 0 │
00:01:30 #3996 [Verbose] > │ let v50 : US0 = US0_1(v49) │
00:01:30 #3997 [Verbose] > │ let v51 : int32 = 11 │
00:01:30 #3998 [Verbose] > │ let v52 : int32 = 7 │
00:01:30 #3999 [Verbose] > │ let v53 : int32 = 6 │
00:01:30 #4000 [Verbose] > │ let v54 : US0 = US0_1(v53) │
00:01:30 #4001 [Verbose] > │ let v55 : int32 = 12 │
00:01:30 #4002 [Verbose] > │ let v56 : int32 = 7 │
00:01:30 #4003 [Verbose] > │ let v57 : US0 = US0_0 │
00:01:30 #4004 [Verbose] > │ let v58 : int32 = 60 │
00:01:30 #4005 [Verbose] > │ let v59 : int32 = 100 │
00:01:30 #4006 [Verbose] > │ let v60 : int32 = 59 │
00:01:30 #4007 [Verbose] > │ let v61 : US0 = US0_1(v60) │
00:01:30 #4008 [Verbose] > │ let v62 : UH0 = UH0_1 │
00:01:30 #4009 [Verbose] > │ let v63 : UH0 = UH0_0(v19, v58, v59, v61, v62) │
00:01:30 #4010 [Verbose] > │ let v64 : UH0 = UH0_0(v18, v55, v56, v57, v63) │
00:01:30 #4011 [Verbose] > │ let v65 : UH0 = UH0_0(v17, v51, v52, v54, v64) │
00:01:30 #4012 [Verbose] > │ let v66 : UH0 = UH0_0(v16, v47, v48, v50, v65) │
00:01:30 #4013 [Verbose] > │ let v67 : UH0 = UH0_0(v15, v43, v44, v46, v66) │
00:01:30 #4014 [Verbose] > │ let v68 : UH0 = UH0_0(v8, v40, v14, v42, v67) │
00:01:30 #4015 [Verbose] > │ let v69 : UH0 = UH0_0(v6, v38, v7, v39, v68) │
00:01:30 #4016 [Verbose] > │ let v70 : UH0 = UH0_0(v4, v35, v5, v37, v69) │
00:01:30 #4017 [Verbose] > │ let v71 : UH0 = UH0_0(v2, v32, v3, v34, v70) │
00:01:30 #4018 [Verbose] > │ let v72 : UH0 = UH0_0(v0, v29, v1, v31, v71) │
00:01:30 #4019 [Verbose] > │ let v73 : (struct ((int32 []) * int32 * int32 * US0) []) = method2(v72) │
00:01:30 #4020 [Verbose] > │ let v74 : uint64 = System.Convert.ToUInt64 v73.Length │
00:01:30 #4021 [Verbose] > │ let v75 : (struct (string * string * string * (int64 [])) []) = │
00:01:30 #4022 [Verbose] > │ Array.zeroCreate<struct (string * string * string * (int64 []))> │
00:01:30 #4023 [Verbose] > │ (System.Convert.ToInt32(v74)) │
00:01:30 #4024 [Verbose] > │ let v76 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4025 [Verbose] > │ while method5(v74, v76) do │
00:01:30 #4026 [Verbose] > │ let v78 : uint64 = v76.l0 │
00:01:30 #4027 [Verbose] > │ let struct (v79 : (int32 []), v80 : int32, v81 : int32, v82 : US0) = │
00:01:30 #4028 [Verbose] > │ v73.[int v78] │
00:01:30 #4029 [Verbose] > │ let v83 : string = $"%A{struct (v79, v80, v81)}" │
00:01:30 #4030 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #4031 [Verbose] > │ let v84 : string = $"Solution: {v83} " │
00:01:30 #4032 [Verbose] > │ System.Console.WriteLine v84 │
00:01:30 #4033 [Verbose] > │ let v85 : int32 = 0 │
00:01:30 #4034 [Verbose] > │ let v86 : string = "semi_open_1" │
00:01:30 #4035 [Verbose] > │ let v87 : (struct ((int32 []) * int32 * int32) -> US0) = closure1() │
00:01:30 #4036 [Verbose] > │ let v88 : int32 = 1 │
00:01:30 #4037 [Verbose] > │ let v89 : string = "closed_1" │
00:01:30 #4038 [Verbose] > │ let v90 : (struct ((int32 []) * int32 * int32) -> US0) = closure2() │
00:01:30 #4039 [Verbose] > │ let v91 : int32 = 2 │
00:01:30 #4040 [Verbose] > │ let v92 : string = "semi_open_2" │
00:01:30 #4041 [Verbose] > │ let v93 : (struct ((int32 []) * int32 * int32) -> US0) = closure3() │
00:01:30 #4042 [Verbose] > │ let v94 : int32 = 3 │
00:01:30 #4043 [Verbose] > │ let v95 : string = "closed_2" │
00:01:30 #4044 [Verbose] > │ let v96 : (struct ((int32 []) * int32 * int32) -> US0) = closure4() │
00:01:30 #4045 [Verbose] > │ let v97 : UH1 = UH1_1 │
00:01:30 #4046 [Verbose] > │ let v98 : UH1 = UH1_0(v94, v95, v96, v97) │
00:01:30 #4047 [Verbose] > │ let v99 : UH1 = UH1_0(v91, v92, v93, v98) │
00:01:30 #4048 [Verbose] > │ let v100 : UH1 = UH1_0(v88, v89, v90, v99) │
00:01:30 #4049 [Verbose] > │ let v101 : UH1 = UH1_0(v85, v86, v87, v100) │
00:01:30 #4050 [Verbose] > │ let v102 : (struct (int32 * string * (struct ((int32 []) * int32 * │
00:01:30 #4051 [Verbose] > │ int32) -> US0)) []) = method10(v101) │
00:01:30 #4052 [Verbose] > │ let v103 : uint64 = System.Convert.ToUInt64 v102.Length │
00:01:30 #4053 [Verbose] > │ let v104 : (struct (US0 * int64) []) = Array.zeroCreate<struct (US0 │
00:01:30 #4054 [Verbose] > │ * int64)> (System.Convert.ToInt32(v103)) │
00:01:30 #4055 [Verbose] > │ let v105 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4056 [Verbose] > │ while method5(v103, v105) do │
00:01:30 #4057 [Verbose] > │ let v107 : uint64 = v105.l0 │
00:01:30 #4058 [Verbose] > │ let struct (v108 : int32, v109 : string, v110 : (struct ((int32 │
00:01:30 #4059 [Verbose] > │ []) * int32 * int32) -> US0)) = v102.[int v107] │
00:01:30 #4060 [Verbose] > │ let mutable result = None │
00:01:30 #4061 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #4062 [Verbose] > │ #if !WASM │
00:01:30 #4063 [Verbose] > │ () │
00:01:30 #4064 [Verbose] > │ #else │
00:01:30 #4065 [Verbose] > │ () │
00:01:30 #4066 [Verbose] > │ #endif │
00:01:30 #4067 [Verbose] > │ #else │
00:01:30 #4068 [Verbose] > │ System.GC.Collect () │
00:01:30 #4069 [Verbose] > │ () │
00:01:30 #4070 [Verbose] > │ #endif │
00:01:30 #4071 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #4072 [Verbose] > │ result |> Option.get │
00:01:30 #4073 [Verbose] > │ let v111 : (unit -> System.Diagnostics.Stopwatch) = │
00:01:30 #4074 [Verbose] > │ System.Diagnostics.Stopwatch │
00:01:30 #4075 [Verbose] > │ let v112 : System.Diagnostics.Stopwatch = v111 () │
00:01:30 #4076 [Verbose] > │ v112.Start () │
00:01:30 #4077 [Verbose] > │ let v113 : int64 = v112.ElapsedMilliseconds │
00:01:30 #4078 [Verbose] > │ let v114 : (int32 []) = Array.zeroCreate<int32> (8000001) │
00:01:30 #4079 [Verbose] > │ let v115 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #4080 [Verbose] > │ while method13(v115) do │
00:01:30 #4081 [Verbose] > │ let v117 : int32 = v115.l0 │
00:01:30 #4082 [Verbose] > │ v114.[int v117] <- v117 │
00:01:30 #4083 [Verbose] > │ let v118 : int32 = v117 + 1 │
00:01:30 #4084 [Verbose] > │ v115.l0 <- v118 │
00:01:30 #4085 [Verbose] > │ () │
00:01:30 #4086 [Verbose] > │ let v119 : (int32 -> US0) = closure5(v79, v80, v81, v110) │
00:01:30 #4087 [Verbose] > │ let v120 : (US0 []) = v114 |> Array.Parallel.map v119 │
00:01:30 #4088 [Verbose] > │ let v121 : int32 = v120.Length │
00:01:30 #4089 [Verbose] > │ let v122 : int32 = v121 - 1 │
00:01:30 #4090 [Verbose] > │ let v123 : US0 = v120.[int v122] │
00:01:30 #4091 [Verbose] > │ let v124 : int64 = v112.ElapsedMilliseconds │
00:01:30 #4092 [Verbose] > │ let v125 : int64 = v124 - v113 │
00:01:30 #4093 [Verbose] > │ let v126 : string = $"Test case {v108 + 1}. {v109}. Time: {v125} │
00:01:30 #4094 [Verbose] > │ " │
00:01:30 #4095 [Verbose] > │ System.Console.WriteLine v126 │
00:01:30 #4096 [Verbose] > │ v104.[int v107] <- struct (v123, v125) │
00:01:30 #4097 [Verbose] > │ let v127 : uint64 = v107 + 1UL │
00:01:30 #4098 [Verbose] > │ v105.l0 <- v127 │
00:01:30 #4099 [Verbose] > │ () │
00:01:30 #4100 [Verbose] > │ let v128 : uint64 = System.Convert.ToUInt64 v104.Length │
00:01:30 #4101 [Verbose] > │ let v129 : (US0 []) = Array.zeroCreate<US0> │
00:01:30 #4102 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #4103 [Verbose] > │ let v130 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4104 [Verbose] > │ while method5(v128, v130) do │
00:01:30 #4105 [Verbose] > │ let v132 : uint64 = v130.l0 │
00:01:30 #4106 [Verbose] > │ let struct (v133 : US0, v134 : int64) = v104.[int v132] │
00:01:30 #4107 [Verbose] > │ v129.[int v132] <- v133 │
00:01:30 #4108 [Verbose] > │ let v135 : uint64 = v132 + 1UL │
00:01:30 #4109 [Verbose] > │ v130.l0 <- v135 │
00:01:30 #4110 [Verbose] > │ () │
00:01:30 #4111 [Verbose] > │ let v136 : uint64 = System.Convert.ToUInt64 v129.Length │
00:01:30 #4112 [Verbose] > │ let v137 : bool = v136 <= 1UL │
00:01:30 #4113 [Verbose] > │ if v137 then │
00:01:30 #4114 [Verbose] > │ () │
00:01:30 #4115 [Verbose] > │ else │
00:01:30 #4116 [Verbose] > │ let v138 : US0 = v129.[int 0UL] │
00:01:30 #4117 [Verbose] > │ let v139 : uint64 = 0UL │
00:01:30 #4118 [Verbose] > │ let v140 : bool = method14(v138, v129, v139) │
00:01:30 #4119 [Verbose] > │ if v140 then │
00:01:30 #4120 [Verbose] > │ () │
00:01:30 #4121 [Verbose] > │ else │
00:01:30 #4122 [Verbose] > │ let v141 : string = $"Challenge error: {v129}" │
00:01:30 #4123 [Verbose] > │ failwith<unit> v141 │
00:01:30 #4124 [Verbose] > │ let v142 : string = $"%A{v82}" │
00:01:30 #4125 [Verbose] > │ let v143 : (US0 []) = Array.zeroCreate<US0> │
00:01:30 #4126 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #4127 [Verbose] > │ let v144 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4128 [Verbose] > │ while method5(v128, v144) do │
00:01:30 #4129 [Verbose] > │ let v146 : uint64 = v144.l0 │
00:01:30 #4130 [Verbose] > │ let struct (v147 : US0, v148 : int64) = v104.[int v146] │
00:01:30 #4131 [Verbose] > │ v143.[int v146] <- v147 │
00:01:30 #4132 [Verbose] > │ let v149 : uint64 = v146 + 1UL │
00:01:30 #4133 [Verbose] > │ v144.l0 <- v149 │
00:01:30 #4134 [Verbose] > │ () │
00:01:30 #4135 [Verbose] > │ let v150 : US0 = v143.[int 0UL] │
00:01:30 #4136 [Verbose] > │ let v151 : string = $"%A{v150}" │
00:01:30 #4137 [Verbose] > │ let v152 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #4138 [Verbose] > │ (System.Convert.ToInt32(v128)) │
00:01:30 #4139 [Verbose] > │ let v153 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4140 [Verbose] > │ while method5(v128, v153) do │
00:01:30 #4141 [Verbose] > │ let v155 : uint64 = v153.l0 │
00:01:30 #4142 [Verbose] > │ let struct (v156 : US0, v157 : int64) = v104.[int v155] │
00:01:30 #4143 [Verbose] > │ v152.[int v155] <- v157 │
00:01:30 #4144 [Verbose] > │ let v158 : uint64 = v155 + 1UL │
00:01:30 #4145 [Verbose] > │ v153.l0 <- v158 │
00:01:30 #4146 [Verbose] > │ () │
00:01:30 #4147 [Verbose] > │ v75.[int v78] <- struct (v142, v83, v151, v152) │
00:01:30 #4148 [Verbose] > │ let v159 : uint64 = v78 + 1UL │
00:01:30 #4149 [Verbose] > │ v76.l0 <- v159 │
00:01:30 #4150 [Verbose] > │ () │
00:01:30 #4151 [Verbose] > │ let v160 : uint64 = System.Convert.ToUInt64 v75.Length │
00:01:30 #4152 [Verbose] > │ let v161 : (struct (UH2 * US1) []) = Array.zeroCreate<struct (UH2 * │
00:01:30 #4153 [Verbose] > │ US1)> (System.Convert.ToInt32(v160)) │
00:01:30 #4154 [Verbose] > │ let v162 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4155 [Verbose] > │ while method5(v160, v162) do │
00:01:30 #4156 [Verbose] > │ let v164 : uint64 = v162.l0 │
00:01:30 #4157 [Verbose] > │ let struct (v165 : string, v166 : string, v167 : string, v168 : │
00:01:30 #4158 [Verbose] > │ (int64 [])) = v75.[int v164] │
00:01:30 #4159 [Verbose] > │ let v169 : uint64 = System.Convert.ToUInt64 v168.Length │
00:01:30 #4160 [Verbose] > │ let v170 : UH3 = UH3_1 │
00:01:30 #4161 [Verbose] > │ let v171 : Mut2 = {l0 = 0UL; l1 = v170; l2 = 0L} : Mut2 │
00:01:30 #4162 [Verbose] > │ while method15(v169, v171) do │
00:01:30 #4163 [Verbose] > │ let v173 : uint64 = v171.l0 │
00:01:30 #4164 [Verbose] > │ let struct (v174 : UH3, v175 : int64) = v171.l1, v171.l2 │
00:01:30 #4165 [Verbose] > │ let v176 : int64 = v168.[int v173] │
00:01:30 #4166 [Verbose] > │ let v177 : int64 = v175 + 1L │
00:01:30 #4167 [Verbose] > │ let v178 : uint64 = v173 + 1UL │
00:01:30 #4168 [Verbose] > │ let v179 : UH3 = UH3_0(v175, v176, v174) │
00:01:30 #4169 [Verbose] > │ v171.l0 <- v178 │
00:01:30 #4170 [Verbose] > │ v171.l1 <- v179 │
00:01:30 #4171 [Verbose] > │ v171.l2 <- v177 │
00:01:30 #4172 [Verbose] > │ () │
00:01:30 #4173 [Verbose] > │ let struct (v180 : UH3, v181 : int64) = v171.l1, v171.l2 │
00:01:30 #4174 [Verbose] > │ let v182 : UH3 = UH3_1 │
00:01:30 #4175 [Verbose] > │ let v183 : UH3 = method16(v180, v182) │
00:01:30 #4176 [Verbose] > │ let v184 : (struct (int64 * int64) []) = method17(v183) │
00:01:30 #4177 [Verbose] > │ let v185 : int32 = v184.Length │
00:01:30 #4178 [Verbose] > │ let v186 : (struct (int64 * int64) []) = Array.zeroCreate<struct │
00:01:30 #4179 [Verbose] > │ (int64 * int64)> (v185) │
00:01:30 #4180 [Verbose] > │ let v187 : Mut0 = {l0 = 0} : Mut0 │
00:01:30 #4181 [Verbose] > │ while method20(v185, v187) do │
00:01:30 #4182 [Verbose] > │ let v189 : int32 = v187.l0 │
00:01:30 #4183 [Verbose] > │ let struct (v190 : int64, v191 : int64) = v184.[int v189] │
00:01:30 #4184 [Verbose] > │ let v192 : int64 = v190 + 1L │
00:01:30 #4185 [Verbose] > │ v186.[int v189] <- struct (v192, v191) │
00:01:30 #4186 [Verbose] > │ let v193 : int32 = v189 + 1 │
00:01:30 #4187 [Verbose] > │ v187.l0 <- v193 │
00:01:30 #4188 [Verbose] > │ () │
00:01:30 #4189 [Verbose] > │ let v194 : (struct (int64 * int64) -> int64) = closure6() │
00:01:30 #4190 [Verbose] > │ let v195 : (struct (int64 * int64) []) = v186 |> Array.sortBy v194 │
00:01:30 #4191 [Verbose] > │ let struct (v196 : int64, v197 : int64) = v195.[int 0] │
00:01:30 #4192 [Verbose] > │ let v198 : string = $"%A{struct (v196, v197)}" │
00:01:30 #4193 [Verbose] > │ let v199 : bool = v165 = v167 │
00:01:30 #4194 [Verbose] > │ let v204 : US1 = │
00:01:30 #4195 [Verbose] > │ if v199 then │
00:01:30 #4196 [Verbose] > │ let v200 : System.ConsoleColor = │
00:01:30 #4197 [Verbose] > │ System.ConsoleColor.DarkGreen │
00:01:30 #4198 [Verbose] > │ US1_1(v200) │
00:01:30 #4199 [Verbose] > │ else │
00:01:30 #4200 [Verbose] > │ let v202 : System.ConsoleColor = System.ConsoleColor.DarkRed │
00:01:30 #4201 [Verbose] > │ US1_1(v202) │
00:01:30 #4202 [Verbose] > │ let v205 : UH2 = UH2_1 │
00:01:30 #4203 [Verbose] > │ let v206 : UH2 = UH2_0(v198, v205) │
00:01:30 #4204 [Verbose] > │ let v207 : UH2 = UH2_0(v167, v206) │
00:01:30 #4205 [Verbose] > │ let v208 : UH2 = UH2_0(v165, v207) │
00:01:30 #4206 [Verbose] > │ let v209 : UH2 = UH2_0(v166, v208) │
00:01:30 #4207 [Verbose] > │ v161.[int v164] <- struct (v209, v204) │
00:01:30 #4208 [Verbose] > │ let v210 : uint64 = v164 + 1UL │
00:01:30 #4209 [Verbose] > │ v162.l0 <- v210 │
00:01:30 #4210 [Verbose] > │ () │
00:01:30 #4211 [Verbose] > │ let v211 : string = "Input" │
00:01:30 #4212 [Verbose] > │ let v212 : string = "Expected" │
00:01:30 #4213 [Verbose] > │ let v213 : string = "Result" │
00:01:30 #4214 [Verbose] > │ let v214 : string = "Best" │
00:01:30 #4215 [Verbose] > │ let v215 : UH2 = UH2_1 │
00:01:30 #4216 [Verbose] > │ let v216 : UH2 = UH2_0(v214, v215) │
00:01:30 #4217 [Verbose] > │ let v217 : UH2 = UH2_0(v213, v216) │
00:01:30 #4218 [Verbose] > │ let v218 : UH2 = UH2_0(v212, v217) │
00:01:30 #4219 [Verbose] > │ let v219 : UH2 = UH2_0(v211, v218) │
00:01:30 #4220 [Verbose] > │ let v220 : US1 = US1_0 │
00:01:30 #4221 [Verbose] > │ let v221 : string = "---" │
00:01:30 #4222 [Verbose] > │ let v222 : UH2 = UH2_1 │
00:01:30 #4223 [Verbose] > │ let v223 : UH2 = UH2_0(v221, v222) │
00:01:30 #4224 [Verbose] > │ let v224 : UH2 = UH2_0(v221, v223) │
00:01:30 #4225 [Verbose] > │ let v225 : UH2 = UH2_0(v221, v224) │
00:01:30 #4226 [Verbose] > │ let v226 : UH2 = UH2_0(v221, v225) │
00:01:30 #4227 [Verbose] > │ let v227 : US1 = US1_0 │
00:01:30 #4228 [Verbose] > │ let v228 : UH4 = UH4_1 │
00:01:30 #4229 [Verbose] > │ let v229 : UH4 = UH4_0(v226, v227, v228) │
00:01:30 #4230 [Verbose] > │ let v230 : UH4 = UH4_0(v219, v220, v229) │
00:01:30 #4231 [Verbose] > │ let v231 : (struct (UH2 * US1) []) = method21(v230) │
00:01:30 #4232 [Verbose] > │ let v232 : uint64 = System.Convert.ToUInt64 v231.Length │
00:01:30 #4233 [Verbose] > │ let v233 : uint64 = System.Convert.ToUInt64 v161.Length │
00:01:30 #4234 [Verbose] > │ let v234 : uint64 = v232 + v233 │
00:01:30 #4235 [Verbose] > │ let v235 : (struct (UH2 * US1) []) = Array.zeroCreate<struct (UH2 * │
00:01:30 #4236 [Verbose] > │ US1)> (System.Convert.ToInt32(v234)) │
00:01:30 #4237 [Verbose] > │ let v236 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4238 [Verbose] > │ while method5(v234, v236) do │
00:01:30 #4239 [Verbose] > │ let v238 : uint64 = v236.l0 │
00:01:30 #4240 [Verbose] > │ let v239 : bool = v238 < v232 │
00:01:30 #4241 [Verbose] > │ let struct (v245 : UH2, v246 : US1) = │
00:01:30 #4242 [Verbose] > │ if v239 then │
00:01:30 #4243 [Verbose] > │ let struct (v240 : UH2, v241 : US1) = v231.[int v238] │
00:01:30 #4244 [Verbose] > │ struct (v240, v241) │
00:01:30 #4245 [Verbose] > │ else │
00:01:30 #4246 [Verbose] > │ let v242 : uint64 = v238 - v232 │
00:01:30 #4247 [Verbose] > │ let struct (v243 : UH2, v244 : US1) = v161.[int v242] │
00:01:30 #4248 [Verbose] > │ struct (v243, v244) │
00:01:30 #4249 [Verbose] > │ v235.[int v238] <- struct (v245, v246) │
00:01:30 #4250 [Verbose] > │ let v247 : uint64 = v238 + 1UL │
00:01:30 #4251 [Verbose] > │ v236.l0 <- v247 │
00:01:30 #4252 [Verbose] > │ () │
00:01:30 #4253 [Verbose] > │ let v248 : uint64 = System.Convert.ToUInt64 v235.Length │
00:01:30 #4254 [Verbose] > │ let v249 : ((string []) []) = Array.zeroCreate<(string [])> │
00:01:30 #4255 [Verbose] > │ (System.Convert.ToInt32(v248)) │
00:01:30 #4256 [Verbose] > │ let v250 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4257 [Verbose] > │ while method5(v248, v250) do │
00:01:30 #4258 [Verbose] > │ let v252 : uint64 = v250.l0 │
00:01:30 #4259 [Verbose] > │ let struct (v253 : UH2, v254 : US1) = v235.[int v252] │
00:01:30 #4260 [Verbose] > │ let v255 : (string []) = method24(v253) │
00:01:30 #4261 [Verbose] > │ v249.[int v252] <- v255 │
00:01:30 #4262 [Verbose] > │ let v256 : uint64 = v252 + 1UL │
00:01:30 #4263 [Verbose] > │ v250.l0 <- v256 │
00:01:30 #4264 [Verbose] > │ () │
00:01:30 #4265 [Verbose] > │ let v257 : ((string []) []) = v249 |> Array.transpose │
00:01:30 #4266 [Verbose] > │ let v258 : uint64 = System.Convert.ToUInt64 v257.Length │
00:01:30 #4267 [Verbose] > │ let v259 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #4268 [Verbose] > │ (System.Convert.ToInt32(v258)) │
00:01:30 #4269 [Verbose] > │ let v260 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4270 [Verbose] > │ while method5(v258, v260) do │
00:01:30 #4271 [Verbose] > │ let v262 : uint64 = v260.l0 │
00:01:30 #4272 [Verbose] > │ let v263 : (string []) = v257.[int v262] │
00:01:30 #4273 [Verbose] > │ let v264 : uint64 = System.Convert.ToUInt64 v263.Length │
00:01:30 #4274 [Verbose] > │ let v265 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #4275 [Verbose] > │ (System.Convert.ToInt32(v264)) │
00:01:30 #4276 [Verbose] > │ let v266 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4277 [Verbose] > │ while method5(v264, v266) do │
00:01:30 #4278 [Verbose] > │ let v268 : uint64 = v266.l0 │
00:01:30 #4279 [Verbose] > │ let v269 : string = v263.[int v268] │
00:01:30 #4280 [Verbose] > │ let v270 : int64 = System.Convert.ToInt64 v269.Length │
00:01:30 #4281 [Verbose] > │ v265.[int v268] <- v270 │
00:01:30 #4282 [Verbose] > │ let v271 : uint64 = v268 + 1UL │
00:01:30 #4283 [Verbose] > │ v266.l0 <- v271 │
00:01:30 #4284 [Verbose] > │ () │
00:01:30 #4285 [Verbose] > │ let v272 : (int64 []) = v265 |> Array.sortDescending │
00:01:30 #4286 [Verbose] > │ let v273 : int64 option = v272 |> Array.tryItem 0 │
00:01:30 #4287 [Verbose] > │ let v274 : (int64 -> US2) = closure7() │
00:01:30 #4288 [Verbose] > │ let v275 : US2 = US2_0 │
00:01:30 #4289 [Verbose] > │ let v276 : US2 = v273 |> Option.map v274 |> Option.defaultValue v275 │
00:01:30 #4290 [Verbose] > │ let v279 : int64 = │
00:01:30 #4291 [Verbose] > │ match v276 with │
00:01:30 #4292 [Verbose] > │ | US2_0 -> (* None *) │
00:01:30 #4293 [Verbose] > │ 0L │
00:01:30 #4294 [Verbose] > │ | US2_1(v277) -> (* Some *) │
00:01:30 #4295 [Verbose] > │ v277 │
00:01:30 #4296 [Verbose] > │ v259.[int v262] <- v279 │
00:01:30 #4297 [Verbose] > │ let v280 : uint64 = v262 + 1UL │
00:01:30 #4298 [Verbose] > │ v260.l0 <- v280 │
00:01:30 #4299 [Verbose] > │ () │
00:01:30 #4300 [Verbose] > │ let v281 : uint64 = System.Convert.ToUInt64 v259.Length │
00:01:30 #4301 [Verbose] > │ let v282 : UH5 = UH5_1 │
00:01:30 #4302 [Verbose] > │ let v283 : Mut3 = {l0 = 0UL; l1 = v282; l2 = 0} : Mut3 │
00:01:30 #4303 [Verbose] > │ while method27(v281, v283) do │
00:01:30 #4304 [Verbose] > │ let v285 : uint64 = v283.l0 │
00:01:30 #4305 [Verbose] > │ let struct (v286 : UH5, v287 : int32) = v283.l1, v283.l2 │
00:01:30 #4306 [Verbose] > │ let v288 : int64 = v259.[int v285] │
00:01:30 #4307 [Verbose] > │ let v289 : int32 = v287 + 1 │
00:01:30 #4308 [Verbose] > │ let v290 : uint64 = v285 + 1UL │
00:01:30 #4309 [Verbose] > │ let v291 : UH5 = UH5_0(v287, v288, v286) │
00:01:30 #4310 [Verbose] > │ v283.l0 <- v290 │
00:01:30 #4311 [Verbose] > │ v283.l1 <- v291 │
00:01:30 #4312 [Verbose] > │ v283.l2 <- v289 │
00:01:30 #4313 [Verbose] > │ () │
00:01:30 #4314 [Verbose] > │ let struct (v292 : UH5, v293 : int32) = v283.l1, v283.l2 │
00:01:30 #4315 [Verbose] > │ let v294 : UH5 = UH5_1 │
00:01:30 #4316 [Verbose] > │ let v295 : UH5 = method28(v292, v294) │
00:01:30 #4317 [Verbose] > │ let v296 : (struct (int32 * int64) []) = method29(v295) │
00:01:30 #4318 [Verbose] > │ let v297 : Map<int32, int64> = v296 |> Array.map (fun (struct (a, b)) -> │
00:01:30 #4319 [Verbose] > │ a, b) |> Map.ofArray │
00:01:30 #4320 [Verbose] > │ let v298 : (struct ((string []) * US1) []) = Array.zeroCreate<struct │
00:01:30 #4321 [Verbose] > │ ((string []) * US1)> (System.Convert.ToInt32(v248)) │
00:01:30 #4322 [Verbose] > │ let v299 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4323 [Verbose] > │ while method5(v248, v299) do │
00:01:30 #4324 [Verbose] > │ let v301 : uint64 = v299.l0 │
00:01:30 #4325 [Verbose] > │ let struct (v302 : UH2, v303 : US1) = v235.[int v301] │
00:01:30 #4326 [Verbose] > │ let v304 : UH6 = UH6_1 │
00:01:30 #4327 [Verbose] > │ let v305 : int32 = 0 │
00:01:30 #4328 [Verbose] > │ let struct (v306 : UH6, v307 : int32) = method32(v302, v304, v305) │
00:01:30 #4329 [Verbose] > │ let v308 : UH6 = UH6_1 │
00:01:30 #4330 [Verbose] > │ let v309 : UH6 = method33(v306, v308) │
00:01:30 #4331 [Verbose] > │ let v310 : UH2 = UH2_1 │
00:01:30 #4332 [Verbose] > │ let v311 : UH2 = method34(v297, v309, v310) │
00:01:30 #4333 [Verbose] > │ let v312 : (string []) = method35(v311) │
00:01:30 #4334 [Verbose] > │ v298.[int v301] <- struct (v312, v303) │
00:01:30 #4335 [Verbose] > │ let v313 : uint64 = v301 + 1UL │
00:01:30 #4336 [Verbose] > │ v299.l0 <- v313 │
00:01:30 #4337 [Verbose] > │ () │
00:01:30 #4338 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #4339 [Verbose] > │ let v314 : uint64 = System.Convert.ToUInt64 v298.Length │
00:01:30 #4340 [Verbose] > │ let v315 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4341 [Verbose] > │ while method5(v314, v315) do │
00:01:30 #4342 [Verbose] > │ let v317 : uint64 = v315.l0 │
00:01:30 #4343 [Verbose] > │ let struct (v318 : (string []), v319 : US1) = v298.[int v317] │
00:01:30 #4344 [Verbose] > │ match v319 with │
00:01:30 #4345 [Verbose] > │ | US1_0 -> (* None *) │
00:01:30 #4346 [Verbose] > │ let mutable result = None │
00:01:30 #4347 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #4348 [Verbose] > │ #if !WASM │
00:01:30 #4349 [Verbose] > │ () │
00:01:30 #4350 [Verbose] > │ #else │
00:01:30 #4351 [Verbose] > │ () │
00:01:30 #4352 [Verbose] > │ #endif │
00:01:30 #4353 [Verbose] > │ #else │
00:01:30 #4354 [Verbose] > │ System.Console.ResetColor () │
00:01:30 #4355 [Verbose] > │ () │
00:01:30 #4356 [Verbose] > │ #endif │
00:01:30 #4357 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #4358 [Verbose] > │ result |> Option.get │
00:01:30 #4359 [Verbose] > │ () │
00:01:30 #4360 [Verbose] > │ | US1_1(v320) -> (* Some *) │
00:01:30 #4361 [Verbose] > │ let mutable result = None │
00:01:30 #4362 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #4363 [Verbose] > │ #if !WASM │
00:01:30 #4364 [Verbose] > │ () │
00:01:30 #4365 [Verbose] > │ #else │
00:01:30 #4366 [Verbose] > │ () │
00:01:30 #4367 [Verbose] > │ #endif │
00:01:30 #4368 [Verbose] > │ #else │
00:01:30 #4369 [Verbose] > │ System.Console.ForegroundColor <- v320 │
00:01:30 #4370 [Verbose] > │ () │
00:01:30 #4371 [Verbose] > │ #endif │
00:01:30 #4372 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #4373 [Verbose] > │ result |> Option.get │
00:01:30 #4374 [Verbose] > │ () │
00:01:30 #4375 [Verbose] > │ let v321 : string = "\t| " │
00:01:30 #4376 [Verbose] > │ let v322 : string = System.String.Join (v321, v318) │
00:01:30 #4377 [Verbose] > │ System.Console.WriteLine v322 │
00:01:30 #4378 [Verbose] > │ let mutable result = None │
00:01:30 #4379 [Verbose] > │ #if FABLE_COMPILER_RUST │
00:01:30 #4380 [Verbose] > │ #if !WASM │
00:01:30 #4381 [Verbose] > │ () │
00:01:30 #4382 [Verbose] > │ #else │
00:01:30 #4383 [Verbose] > │ () │
00:01:30 #4384 [Verbose] > │ #endif │
00:01:30 #4385 [Verbose] > │ #else │
00:01:30 #4386 [Verbose] > │ System.Console.ResetColor () │
00:01:30 #4387 [Verbose] > │ () │
00:01:30 #4388 [Verbose] > │ #endif │
00:01:30 #4389 [Verbose] > │ |> fun x -> result <- Some x │
00:01:30 #4390 [Verbose] > │ result |> Option.get │
00:01:30 #4391 [Verbose] > │ let v323 : uint64 = v317 + 1UL │
00:01:30 #4392 [Verbose] > │ v315.l0 <- v323 │
00:01:30 #4393 [Verbose] > │ () │
00:01:30 #4394 [Verbose] > │ let v324 : ((float []) []) = Array.zeroCreate<(float [])> │
00:01:30 #4395 [Verbose] > │ (System.Convert.ToInt32(v160)) │
00:01:30 #4396 [Verbose] > │ let v325 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4397 [Verbose] > │ while method5(v160, v325) do │
00:01:30 #4398 [Verbose] > │ let v327 : uint64 = v325.l0 │
00:01:30 #4399 [Verbose] > │ let struct (v328 : string, v329 : string, v330 : string, v331 : │
00:01:30 #4400 [Verbose] > │ (int64 [])) = v75.[int v327] │
00:01:30 #4401 [Verbose] > │ let v332 : (int64 -> float) = float │
00:01:30 #4402 [Verbose] > │ let v333 : uint64 = System.Convert.ToUInt64 v331.Length │
00:01:30 #4403 [Verbose] > │ let v334 : (float []) = Array.zeroCreate<float> │
00:01:30 #4404 [Verbose] > │ (System.Convert.ToInt32(v333)) │
00:01:30 #4405 [Verbose] > │ let v335 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4406 [Verbose] > │ while method5(v333, v335) do │
00:01:30 #4407 [Verbose] > │ let v337 : uint64 = v335.l0 │
00:01:30 #4408 [Verbose] > │ let v338 : int64 = v331.[int v337] │
00:01:30 #4409 [Verbose] > │ let v339 : float = v332 v338 │
00:01:30 #4410 [Verbose] > │ v334.[int v337] <- v339 │
00:01:30 #4411 [Verbose] > │ let v340 : uint64 = v337 + 1UL │
00:01:30 #4412 [Verbose] > │ v335.l0 <- v340 │
00:01:30 #4413 [Verbose] > │ () │
00:01:30 #4414 [Verbose] > │ v324.[int v327] <- v334 │
00:01:30 #4415 [Verbose] > │ let v341 : uint64 = v327 + 1UL │
00:01:30 #4416 [Verbose] > │ v325.l0 <- v341 │
00:01:30 #4417 [Verbose] > │ () │
00:01:30 #4418 [Verbose] > │ let v342 : ((float []) []) = v324 |> Array.transpose │
00:01:30 #4419 [Verbose] > │ let v343 : uint64 = System.Convert.ToUInt64 v342.Length │
00:01:30 #4420 [Verbose] > │ let v344 : (float []) = Array.zeroCreate<float> │
00:01:30 #4421 [Verbose] > │ (System.Convert.ToInt32(v343)) │
00:01:30 #4422 [Verbose] > │ let v345 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4423 [Verbose] > │ while method5(v343, v345) do │
00:01:30 #4424 [Verbose] > │ let v347 : uint64 = v345.l0 │
00:01:30 #4425 [Verbose] > │ let v348 : (float []) = v342.[int v347] │
00:01:30 #4426 [Verbose] > │ let v349 : float = v348 |> Array.average │
00:01:30 #4427 [Verbose] > │ v344.[int v347] <- v349 │
00:01:30 #4428 [Verbose] > │ let v350 : uint64 = v347 + 1UL │
00:01:30 #4429 [Verbose] > │ v345.l0 <- v350 │
00:01:30 #4430 [Verbose] > │ () │
00:01:30 #4431 [Verbose] > │ let v351 : (float -> int64) = int64 │
00:01:30 #4432 [Verbose] > │ let v352 : uint64 = System.Convert.ToUInt64 v344.Length │
00:01:30 #4433 [Verbose] > │ let v353 : (int64 []) = Array.zeroCreate<int64> │
00:01:30 #4434 [Verbose] > │ (System.Convert.ToInt32(v352)) │
00:01:30 #4435 [Verbose] > │ let v354 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4436 [Verbose] > │ while method5(v352, v354) do │
00:01:30 #4437 [Verbose] > │ let v356 : uint64 = v354.l0 │
00:01:30 #4438 [Verbose] > │ let v357 : float = v344.[int v356] │
00:01:30 #4439 [Verbose] > │ let v358 : int64 = v351 v357 │
00:01:30 #4440 [Verbose] > │ v353.[int v356] <- v358 │
00:01:30 #4441 [Verbose] > │ let v359 : uint64 = v356 + 1UL │
00:01:30 #4442 [Verbose] > │ v354.l0 <- v359 │
00:01:30 #4443 [Verbose] > │ () │
00:01:30 #4444 [Verbose] > │ let v360 : uint64 = System.Convert.ToUInt64 v353.Length │
00:01:30 #4445 [Verbose] > │ let v361 : UH5 = UH5_1 │
00:01:30 #4446 [Verbose] > │ let v362 : Mut3 = {l0 = 0UL; l1 = v361; l2 = 0} : Mut3 │
00:01:30 #4447 [Verbose] > │ while method27(v360, v362) do │
00:01:30 #4448 [Verbose] > │ let v364 : uint64 = v362.l0 │
00:01:30 #4449 [Verbose] > │ let struct (v365 : UH5, v366 : int32) = v362.l1, v362.l2 │
00:01:30 #4450 [Verbose] > │ let v367 : int64 = v353.[int v364] │
00:01:30 #4451 [Verbose] > │ let v368 : int32 = v366 + 1 │
00:01:30 #4452 [Verbose] > │ let v369 : uint64 = v364 + 1UL │
00:01:30 #4453 [Verbose] > │ let v370 : UH5 = UH5_0(v366, v367, v365) │
00:01:30 #4454 [Verbose] > │ v362.l0 <- v369 │
00:01:30 #4455 [Verbose] > │ v362.l1 <- v370 │
00:01:30 #4456 [Verbose] > │ v362.l2 <- v368 │
00:01:30 #4457 [Verbose] > │ () │
00:01:30 #4458 [Verbose] > │ let struct (v371 : UH5, v372 : int32) = v362.l1, v362.l2 │
00:01:30 #4459 [Verbose] > │ let v373 : UH5 = UH5_1 │
00:01:30 #4460 [Verbose] > │ let v374 : UH5 = method28(v371, v373) │
00:01:30 #4461 [Verbose] > │ let v375 : (struct (int32 * int64) []) = method38(v374) │
00:01:30 #4462 [Verbose] > │ System.Console.WriteLine v27 │
00:01:30 #4463 [Verbose] > │ let v376 : string = "Average Ranking " │
00:01:30 #4464 [Verbose] > │ System.Console.WriteLine v376 │
00:01:30 #4465 [Verbose] > │ let v377 : (struct (int32 * int64) -> int64) = closure8() │
00:01:30 #4466 [Verbose] > │ let v378 : (struct (int32 * int64) []) = v375 |> Array.sortBy v377 │
00:01:30 #4467 [Verbose] > │ let v379 : uint64 = System.Convert.ToUInt64 v378.Length │
00:01:30 #4468 [Verbose] > │ let v380 : Mut1 = {l0 = 0UL} : Mut1 │
00:01:30 #4469 [Verbose] > │ while method5(v379, v380) do │
00:01:30 #4470 [Verbose] > │ let v382 : uint64 = v380.l0 │
00:01:30 #4471 [Verbose] > │ let struct (v383 : int32, v384 : int64) = v378.[int v382] │
00:01:30 #4472 [Verbose] > │ let v385 : string = $"Test case %d{v383 + 1}. Average Time: %A{v384} │
00:01:30 #4473 [Verbose] > │ " │
00:01:30 #4474 [Verbose] > │ System.Console.WriteLine v385 │
00:01:30 #4475 [Verbose] > │ let v386 : uint64 = v382 + 1UL │
00:01:30 #4476 [Verbose] > │ v380.l0 <- v386 │
00:01:30 #4477 [Verbose] > │ () │
00:01:30 #4478 [Verbose] > │ () │
00:01:30 #4479 [Verbose] > │ method0() │
00:01:30 #4480 [Verbose] > │ │
00:01:30 #4481 [Verbose] > │ │
00:01:30 #4482 [Verbose] > │ │
00:01:30 #4483 [Verbose] > │ Test: v25 │
00:01:30 #4484 [Verbose] > │ │
00:01:30 #4485 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:01:30 #4486 [Verbose] > │ Test case 1. semi_open_1. Time: 688 │
00:01:30 #4487 [Verbose] > │ Test case 2. closed_1. Time: 573 │
00:01:30 #4488 [Verbose] > │ Test case 3. semi_open_2. Time: 627 │
00:01:30 #4489 [Verbose] > │ Test case 4. closed_2. Time: 634 │
00:01:30 #4490 [Verbose] > │ │
00:01:30 #4491 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:01:30 #4492 [Verbose] > │ Test case 1. semi_open_1. Time: 617 │
00:01:30 #4493 [Verbose] > │ Test case 2. closed_1. Time: 516 │
00:01:30 #4494 [Verbose] > │ Test case 3. semi_open_2. Time: 527 │
00:01:30 #4495 [Verbose] > │ Test case 4. closed_2. Time: 500 │
00:01:30 #4496 [Verbose] > │ │
00:01:30 #4497 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:01:30 #4498 [Verbose] > │ Test case 1. semi_open_1. Time: 489 │
00:01:30 #4499 [Verbose] > │ Test case 2. closed_1. Time: 491 │
00:01:30 #4500 [Verbose] > │ Test case 3. semi_open_2. Time: 475 │
00:01:30 #4501 [Verbose] > │ Test case 4. closed_2. Time: 489 │
00:01:30 #4502 [Verbose] > │ │
00:01:30 #4503 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:01:30 #4504 [Verbose] > │ Test case 1. semi_open_1. Time: 490 │
00:01:30 #4505 [Verbose] > │ Test case 2. closed_1. Time: 500 │
00:01:30 #4506 [Verbose] > │ Test case 3. semi_open_2. Time: 521 │
00:01:30 #4507 [Verbose] > │ Test case 4. closed_2. Time: 537 │
00:01:30 #4508 [Verbose] > │ │
00:01:30 #4509 [Verbose] > │ Solution: struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; │
00:01:30 #4510 [Verbose] > │ 17; 18; 19; 20; │
00:01:30 #4511 [Verbose] > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:01:30 #4512 [Verbose] > │ 37; 38; │
00:01:30 #4513 [Verbose] > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:01:30 #4514 [Verbose] > │ 55; 56; │
00:01:30 #4515 [Verbose] > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:01:30 #4516 [Verbose] > │ 73; 74; │
00:01:30 #4517 [Verbose] > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:01:30 #4518 [Verbose] > │ 91; 92; │
00:01:30 #4519 [Verbose] > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) │
00:01:30 #4520 [Verbose] > │ Test case 1. semi_open_1. Time: 539 │
00:01:30 #4521 [Verbose] > │ Test case 2. closed_1. Time: 530 │
00:01:30 #4522 [Verbose] > │ Test case 3. semi_open_2. Time: 619 │
00:01:30 #4523 [Verbose] > │ Test case 4. closed_2. Time: 556 │
00:01:30 #4524 [Verbose] > │ │
00:01:30 #4525 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:01:30 #4526 [Verbose] > │ Test case 1. semi_open_1. Time: 509 │
00:01:30 #4527 [Verbose] > │ Test case 2. closed_1. Time: 489 │
00:01:30 #4528 [Verbose] > │ Test case 3. semi_open_2. Time: 494 │
00:01:30 #4529 [Verbose] > │ Test case 4. closed_2. Time: 479 │
00:01:30 #4530 [Verbose] > │ │
00:01:30 #4531 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:01:30 #4532 [Verbose] > │ Test case 1. semi_open_1. Time: 479 │
00:01:30 #4533 [Verbose] > │ Test case 2. closed_1. Time: 486 │
00:01:30 #4534 [Verbose] > │ Test case 3. semi_open_2. Time: 486 │
00:01:30 #4535 [Verbose] > │ Test case 4. closed_2. Time: 486 │
00:01:30 #4536 [Verbose] > │ │
00:01:30 #4537 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:01:30 #4538 [Verbose] > │ Test case 1. semi_open_1. Time: 492 │
00:01:30 #4539 [Verbose] > │ Test case 2. closed_1. Time: 480 │
00:01:30 #4540 [Verbose] > │ Test case 3. semi_open_2. Time: 513 │
00:01:30 #4541 [Verbose] > │ Test case 4. closed_2. Time: 500 │
00:01:30 #4542 [Verbose] > │ │
00:01:30 #4543 [Verbose] > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:01:30 #4544 [Verbose] > │ Test case 1. semi_open_1. Time: 510 │
00:01:30 #4545 [Verbose] > │ Test case 2. closed_1. Time: 510 │
00:01:30 #4546 [Verbose] > │ Test case 3. semi_open_2. Time: 500 │
00:01:30 #4547 [Verbose] > │ Test case 4. closed_2. Time: 503 │
00:01:30 #4548 [Verbose] > │ │
00:01:30 #4549 [Verbose] > │ Solution: struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; │
00:01:30 #4550 [Verbose] > │ 17; 18; 19; 20; │
00:01:30 #4551 [Verbose] > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:01:30 #4552 [Verbose] > │ 37; 38; │
00:01:30 #4553 [Verbose] > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:01:30 #4554 [Verbose] > │ 55; 56; │
00:01:30 #4555 [Verbose] > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:01:30 #4556 [Verbose] > │ 73; 74; │
00:01:30 #4557 [Verbose] > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:01:30 #4558 [Verbose] > │ 91; 92; │
00:01:30 #4559 [Verbose] > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) │
00:01:30 #4560 [Verbose] > │ Test case 1. semi_open_1. Time: 525 │
00:01:30 #4561 [Verbose] > │ Test case 2. closed_1. Time: 528 │
00:01:30 #4562 [Verbose] > │ Test case 3. semi_open_2. Time: 527 │
00:01:30 #4563 [Verbose] > │ Test case 4. closed_2. Time: 580 │
00:01:30 #4564 [Verbose] > │ │
00:01:30 #4565 [Verbose] > │ Input │
00:01:30 #4566 [Verbose] > │ │
00:01:30 #4567 [Verbose] > │ │
00:01:30 #4568 [Verbose] > │ │
00:01:30 #4569 [Verbose] > │ | Expected | Result | Best │
00:01:30 #4570 [Verbose] > │ --- │
00:01:30 #4571 [Verbose] > │ │
00:01:30 #4572 [Verbose] > │ │
00:01:30 #4573 [Verbose] > │ │
00:01:30 #4574 [Verbose] > │ | --- | --- | --- │
00:01:30 #4575 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:01:30 #4576 [Verbose] > │ │
00:01:30 #4577 [Verbose] > │ │
00:01:30 #4578 [Verbose] > │ │
00:01:30 #4579 [Verbose] > │ | US0_1 3 | US0_1 3 | struct (2L, 573L) │
00:01:30 #4580 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:01:30 #4581 [Verbose] > │ │
00:01:30 #4582 [Verbose] > │ │
00:01:30 #4583 [Verbose] > │ │
00:01:30 #4584 [Verbose] > │ | US0_1 0 | US0_1 0 | struct (4L, 500L) │
00:01:30 #4585 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:01:30 #4586 [Verbose] > │ │
00:01:30 #4587 [Verbose] > │ │
00:01:30 #4588 [Verbose] > │ │
00:01:30 #4589 [Verbose] > │ | US0_1 6 | US0_1 6 | struct (3L, 475L) │
00:01:30 #4590 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:01:30 #4591 [Verbose] > │ │
00:01:30 #4592 [Verbose] > │ │
00:01:30 #4593 [Verbose] > │ │
00:01:30 #4594 [Verbose] > │ | US0_0 | US0_0 | struct (1L, 490L) │
00:01:30 #4595 [Verbose] > │ struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; │
00:01:30 #4596 [Verbose] > │ 20; │
00:01:30 #4597 [Verbose] > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:01:30 #4598 [Verbose] > │ 37; 38; │
00:01:30 #4599 [Verbose] > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:01:30 #4600 [Verbose] > │ 55; 56; │
00:01:30 #4601 [Verbose] > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:01:30 #4602 [Verbose] > │ 73; 74; │
00:01:30 #4603 [Verbose] > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:01:30 #4604 [Verbose] > │ 91; 92; │
00:01:30 #4605 [Verbose] > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) | US0_1 59 | US0_1 59 | │
00:01:30 #4606 [Verbose] > │ struct (2L, 530L) │
00:01:30 #4607 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:01:30 #4608 [Verbose] > │ │
00:01:30 #4609 [Verbose] > │ │
00:01:30 #4610 [Verbose] > │ │
00:01:30 #4611 [Verbose] > │ | US0_1 3 | US0_1 3 | struct (4L, 479L) │
00:01:30 #4612 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:01:30 #4613 [Verbose] > │ │
00:01:30 #4614 [Verbose] > │ │
00:01:30 #4615 [Verbose] > │ │
00:01:30 #4616 [Verbose] > │ | US0_1 0 | US0_1 0 | struct (1L, 479L) │
00:01:30 #4617 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:01:30 #4618 [Verbose] > │ │
00:01:30 #4619 [Verbose] > │ │
00:01:30 #4620 [Verbose] > │ │
00:01:30 #4621 [Verbose] > │ | US0_1 6 | US0_1 6 | struct (2L, 480L) │
00:01:30 #4622 [Verbose] > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:01:30 #4623 [Verbose] > │ │
00:01:30 #4624 [Verbose] > │ │
00:01:30 #4625 [Verbose] > │ │
00:01:30 #4626 [Verbose] > │ | US0_0 | US0_0 | struct (3L, 500L) │
00:01:30 #4627 [Verbose] > │ struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; │
00:01:30 #4628 [Verbose] > │ 20; │
00:01:30 #4629 [Verbose] > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:01:30 #4630 [Verbose] > │ 37; 38; │
00:01:30 #4631 [Verbose] > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:01:30 #4632 [Verbose] > │ 55; 56; │
00:01:30 #4633 [Verbose] > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:01:30 #4634 [Verbose] > │ 73; 74; │
00:01:30 #4635 [Verbose] > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:01:30 #4636 [Verbose] > │ 91; 92; │
00:01:30 #4637 [Verbose] > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) | US0_1 59 | US0_1 59 | │
00:01:30 #4638 [Verbose] > │ struct (1L, 525L) │
00:01:30 #4639 [Verbose] > │ │
00:01:30 #4640 [Verbose] > │ Average Ranking │
00:01:30 #4641 [Verbose] > │ Test case 2. Average Time: 510L │
00:01:30 #4642 [Verbose] > │ Test case 4. Average Time: 526L │
00:01:30 #4643 [Verbose] > │ Test case 3. Average Time: 528L │
00:01:30 #4644 [Verbose] > │ Test case 1. Average Time: 533L │
00:01:30 #4645 [Verbose] > │ │
00:01:30 #4646 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:30 #4647 [Verbose] >
00:01:30 #4648 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:01:30 #4649 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:30 #4650 [Verbose] > │ ## returnLettersWithOddCountTests │
00:01:30 #4651 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:30 #4652 [Verbose] >
00:01:30 #4653 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:01:30 #4654 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:30 #4655 [Verbose] > │ Test: ReturnLettersWithOddCount │
00:01:30 #4656 [Verbose] > │ │
00:01:30 #4657 [Verbose] > │ Solution: 1 │
00:01:30 #4658 [Verbose] > │ Test case 1. A. Time: 645L │
00:01:30 #4659 [Verbose] > │ │
00:01:30 #4660 [Verbose] > │ Solution: 2 │
00:01:30 #4661 [Verbose] > │ Test case 1. A. Time: 663L │
00:01:30 #4662 [Verbose] > │ │
00:01:30 #4663 [Verbose] > │ Solution: 3 │
00:01:30 #4664 [Verbose] > │ Test case 1. A. Time: 680L │
00:01:30 #4665 [Verbose] > │ │
00:01:30 #4666 [Verbose] > │ Solution: 9 │
00:01:30 #4667 [Verbose] > │ Test case 1. A. Time: 730L │
00:01:30 #4668 [Verbose] > │ │
00:01:30 #4669 [Verbose] > │ Solution: 10 │
00:01:30 #4670 [Verbose] > │ Test case 1. A. Time: 815L │
00:01:30 #4671 [Verbose] > │ │
00:01:30 #4672 [Verbose] > │ Input | Expected | Result | Best │
00:01:30 #4673 [Verbose] > │ --- | --- | --- | --- │
00:01:30 #4674 [Verbose] > │ 1 | a | a | (1, 645) │
00:01:30 #4675 [Verbose] > │ 2 | ba | ba | (1, 663) │
00:01:30 #4676 [Verbose] > │ 3 | aaa | aaa | (1, 680) │
00:01:30 #4677 [Verbose] > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 730) │
00:01:30 #4678 [Verbose] > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 815) │
00:01:30 #4679 [Verbose] > │ │
00:01:30 #4680 [Verbose] > │ Averages │
00:01:30 #4681 [Verbose] > │ Test case 1. Average Time: 706L │
00:01:30 #4682 [Verbose] > │ │
00:01:30 #4683 [Verbose] > │ Ranking │
00:01:30 #4684 [Verbose] > │ Test case 1. Average Time: 706L │
00:01:30 #4685 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:30 #4686 [Verbose] >
00:01:30 #4687 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:30 #4688 [Verbose] > //// test
00:01:30 #4689 [Verbose] >
00:01:30 #4690 [Verbose] > let solutions = [[
00:01:30 #4691 [Verbose] > "A",
00:01:30 #4692 [Verbose] > fun n ->
00:01:30 #4693 [Verbose] > let mutable _builder = StringBuilder (new string('a', n))
00:01:30 #4694 [Verbose] > if n % 2 = 0 then
00:01:30 #4695 [Verbose] > _builder.[[0]] <- 'b'
00:01:30 #4696 [Verbose] >
00:01:30 #4697 [Verbose] > _builder.ToString ()
00:01:30 #4698 [Verbose] > ]]
00:01:30 #4699 [Verbose] > let testCases = seq {
00:01:30 #4700 [Verbose] > 1, "a"
00:01:30 #4701 [Verbose] > 2, "ba"
00:01:30 #4702 [Verbose] > 3, "aaa"
00:01:30 #4703 [Verbose] > 9, "aaaaaaaaa"
00:01:30 #4704 [Verbose] > 10, "baaaaaaaaa"
00:01:30 #4705 [Verbose] > }
00:01:30 #4706 [Verbose] > let rec returnLettersWithOddCountTests =
00:01:30 #4707 [Verbose] > runAll (nameof returnLettersWithOddCountTests) _count solutions testCases
00:01:30 #4708 [Verbose] > returnLettersWithOddCountTests
00:01:30 #4709 [Verbose] > |> sortResultList
00:01:31 #4710 [Verbose] >
00:01:31 #4711 [Verbose] > ╭─[ 856.45ms - stdout ]────────────────────────────────────────────────────────╮
00:01:31 #4712 [Verbose] > │ │
00:01:31 #4713 [Verbose] > │ │
00:01:31 #4714 [Verbose] > │ Test: returnLettersWithOddCountTests │
00:01:31 #4715 [Verbose] > │ │
00:01:31 #4716 [Verbose] > │ Solution: 1 │
00:01:31 #4717 [Verbose] > │ Test case 1. A. Time: 1L │
00:01:31 #4718 [Verbose] > │ │
00:01:31 #4719 [Verbose] > │ Solution: 2 │
00:01:31 #4720 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:31 #4721 [Verbose] > │ │
00:01:31 #4722 [Verbose] > │ Solution: 3 │
00:01:31 #4723 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:31 #4724 [Verbose] > │ │
00:01:31 #4725 [Verbose] > │ Solution: 9 │
00:01:31 #4726 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:31 #4727 [Verbose] > │ │
00:01:31 #4728 [Verbose] > │ Solution: 10 │
00:01:31 #4729 [Verbose] > │ Test case 1. A. Time: 2L │
00:01:31 #4730 [Verbose] > │ │
00:01:31 #4731 [Verbose] > │ Input | Expected | Result | Best │
00:01:31 #4732 [Verbose] > │ --- | --- | --- | --- │
00:01:31 #4733 [Verbose] > │ 1 | a | a | (1, 1) │
00:01:31 #4734 [Verbose] > │ 2 | ba | ba | (1, 0) │
00:01:31 #4735 [Verbose] > │ 3 | aaa | aaa | (1, 0) │
00:01:31 #4736 [Verbose] > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 0) │
00:01:31 #4737 [Verbose] > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 2) │
00:01:31 #4738 [Verbose] > │ │
00:01:31 #4739 [Verbose] > │ Average Ranking │
00:01:31 #4740 [Verbose] > │ Test case 1. Average Time: 0L │
00:01:31 #4741 [Verbose] > │ │
00:01:31 #4742 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:31 #4743 [Verbose] >
00:01:31 #4744 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:01:31 #4745 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:31 #4746 [Verbose] > │ ## hasAnyPairCloseToEachotherTests │
00:01:31 #4747 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:31 #4748 [Verbose] >
00:01:31 #4749 [Verbose] > ── markdown ────────────────────────────────────────────────────────────────────
00:01:31 #4750 [Verbose] > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:31 #4751 [Verbose] > │ Test: HasAnyPairCloseToEachother │
00:01:31 #4752 [Verbose] > │ │
00:01:31 #4753 [Verbose] > │ Solution: 0 │
00:01:31 #4754 [Verbose] > │ Test case 1. A. Time: 137L │
00:01:31 #4755 [Verbose] > │ │
00:01:31 #4756 [Verbose] > │ Solution: 1,2 │
00:01:31 #4757 [Verbose] > │ Test case 1. A. Time: 186L │
00:01:31 #4758 [Verbose] > │ │
00:01:31 #4759 [Verbose] > │ Solution: 3,5 │
00:01:31 #4760 [Verbose] > │ Test case 1. A. Time: 206L │
00:01:31 #4761 [Verbose] > │ │
00:01:31 #4762 [Verbose] > │ Solution: 3,4,6 │
00:01:31 #4763 [Verbose] > │ Test case 1. A. Time: 149L │
00:01:31 #4764 [Verbose] > │ │
00:01:31 #4765 [Verbose] > │ Solution: 2,4,6 │
00:01:31 #4766 [Verbose] > │ Test case 1. A. Time: 150L │
00:01:31 #4767 [Verbose] > │ │
00:01:31 #4768 [Verbose] > │ Input | Expected | Result | Best │
00:01:31 #4769 [Verbose] > │ --- | --- | --- | --- │
00:01:31 #4770 [Verbose] > │ 0 | False | False | (1, 137) │
00:01:31 #4771 [Verbose] > │ 1,2 | True | True | (1, 186) │
00:01:31 #4772 [Verbose] > │ 3,5 | False | False | (1, 206) │
00:01:31 #4773 [Verbose] > │ 3,4,6 | True | True | (1, 149) │
00:01:31 #4774 [Verbose] > │ 2,4,6 | False | False | (1, 150) │
00:01:31 #4775 [Verbose] > │ │
00:01:31 #4776 [Verbose] > │ Averages │
00:01:31 #4777 [Verbose] > │ Test case 1. Average Time: 165L │
00:01:31 #4778 [Verbose] > │ │
00:01:31 #4779 [Verbose] > │ Ranking │
00:01:31 #4780 [Verbose] > │ Test case 1. Average Time: 165L │
00:01:31 #4781 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:31 #4782 [Verbose] >
00:01:31 #4783 [Verbose] > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:31 #4784 [Verbose] > //// test
00:01:31 #4785 [Verbose] >
00:01:31 #4786 [Verbose] > let solutions = [[
00:01:31 #4787 [Verbose] > "A",
00:01:31 #4788 [Verbose] > fun (a: int[[]]) ->
00:01:31 #4789 [Verbose] > let indices = System.Linq.Enumerable.Range(0, a.Length) |>
00:01:31 #4790 [Verbose] > System.Linq.Enumerable.ToArray
00:01:31 #4791 [Verbose] > System.Array.Sort (a, indices)
00:01:31 #4792 [Verbose] >
00:01:31 #4793 [Verbose] > indices
00:01:31 #4794 [Verbose] > |> Array.take (a.Length - 1)
00:01:31 #4795 [Verbose] > |> Array.exists (fun i -> a.[[i + 1]] - a.[[i]] = 1)
00:01:31 #4796 [Verbose] > ]]
00:01:31 #4797 [Verbose] > let testCases = seq {
00:01:31 #4798 [Verbose] > [[| 0 |]], false
00:01:31 #4799 [Verbose] > [[| 1; 2 |]], true
00:01:31 #4800 [Verbose] > [[| 3; 5 |]], false
00:01:31 #4801 [Verbose] > [[| 3; 4; 6 |]], true
00:01:31 #4802 [Verbose] > [[| 2; 4; 6 |]], false
00:01:31 #4803 [Verbose] > }
00:01:31 #4804 [Verbose] > let rec hasAnyPairCloseToEachotherTests =
00:01:31 #4805 [Verbose] > runAll (nameof hasAnyPairCloseToEachotherTests) _count solutions testCases
00:01:31 #4806 [Verbose] > hasAnyPairCloseToEachotherTests
00:01:31 #4807 [Verbose] > |> sortResultList
00:01:32 #4808 [Verbose] >
00:01:32 #4809 [Verbose] > ╭─[ 705.21ms - stdout ]────────────────────────────────────────────────────────╮
00:01:32 #4810 [Verbose] > │ │
00:01:32 #4811 [Verbose] > │ │
00:01:32 #4812 [Verbose] > │ Test: hasAnyPairCloseToEachotherTests │
00:01:32 #4813 [Verbose] > │ │
00:01:32 #4814 [Verbose] > │ Solution: 0 │
00:01:32 #4815 [Verbose] > │ Test case 1. A. Time: 2L │
00:01:32 #4816 [Verbose] > │ │
00:01:32 #4817 [Verbose] > │ Solution: 1,2 │
00:01:32 #4818 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:32 #4819 [Verbose] > │ │
00:01:32 #4820 [Verbose] > │ Solution: 3,5 │
00:01:32 #4821 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:32 #4822 [Verbose] > │ │
00:01:32 #4823 [Verbose] > │ Solution: 3,4,6 │
00:01:32 #4824 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:32 #4825 [Verbose] > │ │
00:01:32 #4826 [Verbose] > │ Solution: 2,4,6 │
00:01:32 #4827 [Verbose] > │ Test case 1. A. Time: 0L │
00:01:32 #4828 [Verbose] > │ │
00:01:32 #4829 [Verbose] > │ Input | Expected | Result | Best │
00:01:32 #4830 [Verbose] > │ --- | --- | --- | --- │
00:01:32 #4831 [Verbose] > │ 0 | False | False | (1, 2) │
00:01:32 #4832 [Verbose] > │ 1,2 | True | True | (1, 0) │
00:01:32 #4833 [Verbose] > │ 3,5 | False | False | (1, 0) │
00:01:32 #4834 [Verbose] > │ 3,4,6 | True | True | (1, 0) │
00:01:32 #4835 [Verbose] > │ 2,4,6 | False | False | (1, 0) │
00:01:32 #4836 [Verbose] > │ │
00:01:32 #4837 [Verbose] > │ Average Ranking │
00:01:32 #4838 [Verbose] > │ Test case 1. Average Time: 0L │
00:01:32 #4839 [Verbose] > │ │
00:01:32 #4840 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:32 #4841 [Verbose] >
00:01:32 #4842 [Verbose] > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:32 #4843 [Verbose] > // // test
00:01:32 #4844 [Verbose] >
00:01:32 #4845 [Verbose] > ()
00:01:32 #4846 [Verbose] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231108-0131-1625-2505-2e80f0f42e35\main.spi
00:01:32 #4847 [Verbose] >
00:01:32 #4848 [Verbose] > ╭─[ 184.30ms - stdout ]────────────────────────────────────────────────────────╮
00:01:32 #4849 [Verbose] > │ let rec method0 () : unit = │
00:01:32 #4850 [Verbose] > │ () │
00:01:32 #4851 [Verbose] > │ method0() │
00:01:32 #4852 [Verbose] > │ │
00:01:32 #4853 [Verbose] > │ │
00:01:32 #4854 [Verbose] > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:34 #4855 [Verbose] > [NbConvertApp] Converting notebook Perf.dib.ipynb to html
00:01:34 #4856 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:34 #4857 [Verbose] > validate(nb)
00:01:34 #4858 [Verbose] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:34 #4859 [Verbose] > return _pygments_highlight(
00:01:35 #4860 [Verbose] > [NbConvertApp] Writing 554262 bytes to Perf.dib.html
00:01:36 #4861 [Debug] executeAsync / exitCode: 0 / output.Length: 342966
00:01:36 #4862 [Debug] main / executeCommand / exitCode: 0
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Perf.dib
00:00:00 #2 [Debug] parseDibCode / output: Fs / file: Perf.dib
In [ ]:
{ . "$ScriptDir/../apps/dir-tree-html/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DirTreeHtml (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/falco.markup/1.0.2/lib/netstandard2.0/Fal
co.Markup.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../../lib/fsharp/Common.fs
#!import ../../lib/fsharp/CommonFSharp.fs
#!import ../../lib/fsharp/Async.fs
#!import ../../lib/fsharp/AsyncSeq.fs
#!import ../../lib/fsharp/Networking.fs
#!import ../../lib/fsharp/Runtime.fs
#!import ../../lib/fsharp/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
if not result.Exists then
let ge...
── fsharp ──────────────────────────────────────────────────────────────────────
open FileSystem.Operators
open Falco.Markup
── fsharp ──────────────────────────────────────────────────────────────────────
type FileSystemNode =
| File of string * string * int64
| Folder of string * string * FileSystemNode list
| Root of FileSystemNode list
let rec scanDirectory isRoot (basePath : string) (path : string) =
let relativePath = path.Replace(basePath, "").Replace("\\",
"/").Replace("//", "/").TrimStart '/'
let directories =
path
|> System.IO.Directory.GetDirectories
|> Array.toList
|> List.sort
|> List.map (scanDirectory false basePath)
let files =
path
|> System.IO.Directory.GetFiles
|> Array.toList
|> List.sort
|> List.map (fun f -> File (System.IO.Path.GetFileName f, relativePath,
System.IO.FileInfo(f).Length))
let children = directories @ files
if isRoot
then Root children
else Folder (path |> System.IO.Path.GetFileName, relativePath, children)
let rec generateHtml fsNode =
let sizeLabel size =
match float size with
| size when size > 1024.0 * 1024.0 -> $"%.2f{size / 1024.0 / 1024.0} MB"
| size when size > 1024.0 -> $"%.2f{size / 1024.0} KB"
| size -> $"%.2f{size} B"
match fsNode with
| File (fileName, relativePath, size) ->
Elem.div [[]] [[
Text.raw "📄 "
Elem.a [[
Attr.href $"""{relativePath}{if relativePath = "" then "" else
"/"}{fileName}"""
]] [[
Text.raw fileName
]]
Elem.span [[]] [[
Text.raw $" ({size |> sizeLabel})"
]]
]]
| Folder (folderName, relativePath, children) ->
let size =
let rec loop children =
children
|> List.sumBy (function
| File (_, _, size) -> size
| Folder (_, _, children)
| Root children -> loop children
)
loop children
Elem.details [[
Attr.open' "true"
]] [[
Elem.summary [[]] [[
Text.raw "📂 "
Elem.a [[
Attr.href relativePath
]] [[
Text.raw folderName
]]
Elem.span [[]] [[
Text.raw $" ({size |> sizeLabel})"
]]
]]
Elem.div [[]] [[
yield! children |> List.map generateHtml
]]
]]
| Root children ->
Elem.div [[]] [[
yield! children |> List.map generateHtml
]]
let generateHtmlForFileSystem root =
$"""<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {{
background-color: #222;
color: #ccc;
}}
a {{
color: #777;
font-size: 15px;
}}
span {{
font-size: 11px;
}}
div > div {{
padding-left: 10px;
}}
details > div {{
padding-left: 19px;
}}
</style>
</head>
<body>
{root |> generateHtml |> renderNode}
</body>
</html>
"""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let rec loop d n = async {
if n >= 0 then
tempFolder </> d |> System.IO.Directory.CreateDirectory |> ignore
do!
n
|> string
|> String.replicate (n + 1)
|> FileSystem.writeAllTextAsync (tempFolder </> d </> $"file.txt")
do! loop $"{d}/{n}" (n - 1)
}
loop "_.root" 3
|> Async.RunSynchronously
let html =
scanDirectory true tempFolder tempFolder
|> generateHtmlForFileSystem
html
|> _equal """<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {
background-color: #222;
color: #ccc;
}
a {
color: #777;
font-size: 15px;
}
span {
font-size: 11px;
}
div > div {
padding-left: 10px;
}
details > div {
padding-left: 19px;
}
</style>
</head>
<body>
<div><details open="true"><summary>📂 <a href="_.root">_.root</a><span>
(10.00 B)</span></summary><div><details open="true"><summary>📂 <a
href="_.root/3">3</a><span> (6.00 B)</span></summary><div><details
open="true"><summary>📂 <a href="_.root/3/2">2</a><span> (3.00
B)</span></summary><div><details open="true"><summary>📂 <a
href="_.root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 <a
href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00
B)</span></div></div></details><div>📄 <a
href="_.root/3/2/file.txt">file.txt</a><span> (2.00
B)</span></div></div></details><div>📄 <a
href="_.root/3/file.txt">file.txt</a><span> (3.00
B)</span></div></div></details><div>📄 <a
href="_.root/file.txt">file.txt</a><span> (4.00
B)</span></div></div></details></div>
</body>
</html>
"""
html |> Microsoft.DotNet.Interactive.Formatting.Html.ToHtmlContent
╭─[ 212.23ms - return value ]──────────────────────────────────────────────────╮
│ <!DOCTYPE html> │
│ <html lang="en"> │
│ <head> │
│ <meta charset="UTF-8"> │
│ <style> │
│ body { │
│ background-color: #222; │
│ color: #ccc; │
│ } │
│ a { │
│ color: #777; │
│ font-size: 15px; │
│ } │
│ span { │
│ font-size: 11px; │
│ } │
│ div > div { │
│ padding-left: 10px; │
│ } │
│ details > div { │
│ padding-left: 19px; │
│ } │
│ </style> │
│ </head> │
│ <body> │
│ <div><details open="true"><summary>📂 <a │
│ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │
│ B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │
│ B)</span></summary><div><div>📄 <a href="_.root... │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 232.92ms - stdout ]────────────────────────────────────────────────────────╮
│ <!DOCTYPE html> │
│ <html lang="en"> │
│ <head> │
│ <meta charset="UTF-8"> │
│ <style> │
│ body { │
│ background-color: #222; │
│ color: #ccc; │
│ } │
│ a { │
│ color: #777; │
│ font-size: 15px; │
│ } │
│ span { │
│ font-size: 11px; │
│ } │
│ div > div { │
│ padding-left: 10px; │
│ } │
│ details > div { │
│ padding-left: 19px; │
│ } │
│ </style> │
│ </head> │
│ <body> │
│ <div><details open="true"><summary>📂 <a │
│ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │
│ B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │
│ B)</span></summary><div><div>📄 <a │
│ href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="_.root/3/2/file.txt">file.txt</a><span> (2.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="_.root/3/file.txt">file.txt</a><span> (3.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="_.root/file.txt">file.txt</a><span> (4.00 │
│ B)</span></div></div></details></div> │
│ </body> │
│ </html> │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.ExactlyOnce>]] Dir of string
| [[<Argu.ArguAttributes.ExactlyOnce>]] Html of string
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Dir _ -> nameof Dir
| Html _ -> nameof Html
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
╭─[ 135.11ms - return value ]──────────────────────────────────────────────────╮
│ USAGE: dotnet.exe [--help] --dir <string> --html <string> │
│ │
│ OPTIONS: │
│ │
│ --dir <string> Dir │
│ --html <string> Html │
│ --help display this list of options. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let dir =
match argsMap.[[nameof Arguments.Dir]] with
| [[ Arguments.Dir dir ]] -> Some dir
| _ -> None
|> Option.get
let htmlPath =
match argsMap.[[nameof Arguments.Html]] with
| [[ Arguments.Html html ]] -> Some html
| _ -> None
|> Option.get
let fileSystem = scanDirectory true dir dir
let html = generateHtmlForFileSystem fileSystem
html |> FileSystem.writeAllTextAsync htmlPath
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 78.60ms - return value ]───────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook DirTreeHtml.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 307592 bytes to DirTreeHtml.dib.html
00:00:00 #1 [Debug] writeDibCode / output: Fs / path: DirTreeHtml.dib
00:00:00 #2 [Debug] parseDibCode / output: Fs / file: DirTreeHtml.dib
00:00:00 #1 [Debug] persistCodeProject / packages: [Argu; Falco.Markup; FSharp.Control.AsyncSeq; ... ] / modules: [lib/fsharp/Common.fs; lib/fsharp/CommonFSharp.fs; lib/fsharp/Async.fs; ... ] / dir: C:\home\git\polyglot\apps\dir-tree-html / name: DirTreeHtml / code.Length: 4478
00:00:00 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj
00:00:00 #3 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj" --configuration Release --output ../dist --runtime linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"
CancellationToken = None
OnLine = None }
00:00:00 #4 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:01 #5 [Verbose] > Determining projects to restore...
00:00:01 #6 [Verbose] > Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 468 ms).
00:00:01 #7 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]
00:00:08 #8 [Verbose] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\Release\net8.0\linux-x64\DirTreeHtml.dll
00:00:09 #9 [Verbose] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\
00:00:10 #10 [Debug] executeAsync / exitCode: 0 / output.Length: 665
00:00:10 #11 [Debug] executeAsync / options: { Command =
"dotnet publish "C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj" --configuration Release --output ../dist --runtime win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"
CancellationToken = None
OnLine = None }
00:00:10 #12 [Verbose] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
00:00:11 #13 [Verbose] > Determining projects to restore...
00:00:11 #14 [Verbose] > Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 492 ms).
00:00:11 #15 [Verbose] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]
00:00:18 #16 [Verbose] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\Release\net8.0\win-x64\DirTreeHtml.dll
00:00:21 #17 [Verbose] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\
00:00:21 #18 [Debug] executeAsync / exitCode: 0 / output.Length: 663
In [ ]:
{ . "$ScriptDir/../apps/ipfs/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped Packages: +495 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Done in 2.4s
In [ ]:
{ . "$ScriptDir/outdated.ps1" } | Invoke-Block
Paket version 8.0.0-alpha002+6339fce88f07b4d959d03b78330fdb5a6d936483
Resolving dependency graph...
Outdated packages found:
Group: Main
* Expecto.FsCheck 10.1.0-fscheck3 -> 10.1.0
* FsCheck 3.0.0-rc1 -> 2.16.6
* Microsoft.AspNetCore.Connections.Abstractions 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.Http.Connections.Client 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.Http.Connections.Common 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.SignalR.Client 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.SignalR.Client.Core 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.SignalR.Common 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.AspNetCore.SignalR.Protocols.Json 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.Extensions.DependencyInjection 7.0 -> 8.0.0-rc.2.23479.6
* Microsoft.Extensions.DependencyInjection.Abstractions 7.0 -> 8.0.0-rc.2.23479.6
* Microsoft.Extensions.Features 7.0 -> 8.0.0-rc.2.23480.2
* Microsoft.Extensions.Logging 7.0 -> 8.0.0-rc.2.23479.6
* Microsoft.Extensions.Logging.Abstractions 7.0.1 -> 8.0.0-rc.2.23479.6
* Microsoft.Extensions.Options 7.0.1 -> 8.0.0-rc.2.23479.6
* Microsoft.Extensions.Primitives 7.0 -> 8.0.0-rc.2.23479.6
* System.IO.Pipelines 7.0 -> 8.0.0-rc.2.23479.6
* System.Threading.Channels 7.0 -> 8.0.0-rc.2.23479.6
Total time taken: 1 minute, 21 seconds
CheckToml / toml: C:\home\git\polyglot\Cargo.toml
chat_contract
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
unsigned-varint 0.7.2 --- 0.8.0 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
chat_contract_tests
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
ahash 0.8.6 0.7.7 0.7.7 Normal ---
allocator-api2 0.2.16 Removed Removed Normal ---
cfg-if 1.0.0 Removed Removed Normal ---
equivalent 1.0.1 Removed Removed Normal ---
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
hashbrown 0.14.2 0.12.3 0.12.3 Normal ---
indexmap 2.1.0 1.9.3 1.9.3 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
proc-macro2 1.0.69 Removed Removed Normal ---
quote 1.0.33 Removed Removed Normal ---
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
syn 2.0.38 Removed Removed Normal ---
unicode-ident 1.0.12 Removed Removed Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
zerocopy 0.7.25 Removed Removed Normal ---
zerocopy-derive 0.7.25 Removed Removed Normal ---
dice
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
fable_library_rust
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(target_arch = "wasm32")
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
dice_contract
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
dice_contract_tests
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
ahash 0.8.6 0.7.7 0.7.7 Normal ---
allocator-api2 0.2.16 Removed Removed Normal ---
cfg-if 1.0.0 Removed Removed Normal ---
equivalent 1.0.1 Removed Removed Normal ---
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
hashbrown 0.14.2 0.12.3 0.12.3 Normal ---
indexmap 2.1.0 1.9.3 1.9.3 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
proc-macro2 1.0.69 Removed Removed Normal ---
quote 1.0.33 Removed Removed Normal ---
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
syn 2.0.38 Removed Removed Normal ---
unicode-ident 1.0.12 Removed Removed Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
zerocopy 0.7.25 Removed Removed Normal ---
zerocopy-derive 0.7.25 Removed Removed Normal ---
dice_fsharp
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
dice_ui
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
js-sys 0.3.64 --- 0.3.65 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
extension
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
getrandom 0.2.10 --- 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
js-sys 0.3.64 --- 0.3.65 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
plot
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
js-sys 0.3.64 --- 0.3.65 Normal ---
serde 1.0.190 --- 1.0.192 Normal ---
serde_derive 1.0.190 --- 1.0.192 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
test
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
getrandom 0.2.10 --- 0.2.11 Normal ---
js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\chat\contract\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
ahash->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
bytesize->serde 1.0.190 1.0.192 1.0.192 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
cpufeatures->libc 0.2.149 0.2.150 0.2.150 Normal aarch64-linux-android
ed25519-dalek->serde 1.0.190 1.0.192 1.0.192 Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
hex->serde 1.0.190 1.0.192 1.0.192 Normal ---
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
indexmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
near-abi->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-account-id->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-crypto->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-macro->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-sdk->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-errors->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-logic->serde 1.0.190 1.0.192 1.0.192 Normal ---
num-rational->serde 1.0.190 1.0.192 1.0.192 Normal ---
parity-scale-codec->serde 1.0.190 1.0.192 1.0.192 Normal ---
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
schemars->serde 1.0.190 1.0.192 1.0.192 Normal ---
semver->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
thiserror-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
toml->serde 1.0.190 1.0.192 1.0.192 Normal ---
unsigned-varint 0.7.2 --- 0.8.0 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wee_alloc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(all(unix, not(target_arch = "wasm32")))
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zeroize_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\chat\contract\tests\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
actix-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
actix_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
ahash->cfg-if 1.0.0 --- Removed Normal ---
ahash->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
ahash->getrandom 0.2.10 Removed 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
ahash->zerocopy 0.7.25 --- Removed Normal ---
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
async-stream-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
async-trait->syn 2.0.38 2.0.39 2.0.39 Normal ---
atty->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
borsh-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
bytesize->serde 1.0.190 1.0.192 1.0.192 Normal ---
bzip2->libc 0.2.149 0.2.150 0.2.150 Normal ---
bzip2-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
camino->serde 1.0.190 1.0.192 1.0.192 Normal ---
cargo-platform->serde 1.0.190 1.0.192 1.0.192 Normal ---
cargo_metadata->serde 1.0.190 1.0.192 1.0.192 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
clap_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
core-foundation->libc 0.2.149 0.2.150 0.2.150 Normal ---
cpufeatures->libc 0.2.149 0.2.150 0.2.150 Normal aarch64-linux-android
darling_core->syn 2.0.38 2.0.39 2.0.39 Normal ---
darling_macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
deranged->serde 1.0.190 1.0.192 1.0.192 Normal ---
derive_arbitrary->syn 2.0.38 2.0.39 2.0.39 Normal ---
dirs-sys-next->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
ed25519-dalek->serde 1.0.190 1.0.192 1.0.192 Normal ---
enum-map-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
errno->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "hermit")
filetime->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
fs2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->cfg-if 1.0.0 Removed --- Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->js-sys 0.3.64 Removed 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->libc 0.2.149 Removed 0.2.150 Normal cfg(unix)
getrandom->wasi 0.11.0+wasi-snapshot-preview1 Removed --- Normal cfg(target_os = "wasi")
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->wasm-bindgen 0.2.87 Removed 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
hashbrown->ahash 0.7.7 0.8.6 --- Normal ---
hashbrown->ahash 0.8.6 --- 0.7.7 Normal ---
hashbrown->allocator-api2 0.2.16 --- Removed Normal ---
hermit-abi->libc 0.2.149 0.2.150 0.2.150 Normal ---
hex->serde 1.0.190 1.0.192 1.0.192 Normal ---
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
indexmap->autocfg 1.1.0 Removed --- Build ---
indexmap->equivalent 1.0.1 --- Removed Normal ---
indexmap->hashbrown 0.12.3 0.14.2 --- Normal ---
indexmap->hashbrown 0.14.2 --- 0.12.3 Normal ---
indexmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
js-sys->wasm-bindgen 0.2.87 Removed 0.2.88 Normal ---
json-patch->serde 1.0.190 1.0.192 1.0.192 Normal ---
libredox->libc 0.2.149 0.2.150 0.2.150 Normal ---
memmap2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
mio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "wasi")
native-tls->libc 0.2.149 0.2.150 0.2.150 Normal cfg(any(target_os = "macos", target_os = "ios"))
near-abi->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-account-id->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-chain-configs->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-crypto->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-gas->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-jsonrpc-client->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-jsonrpc-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-o11y->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->syn 2.0.38 2.0.39 2.0.39 Normal ---
near-rpc-error-macro->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
near-sdk->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-token->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-errors->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-logic->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-workspaces->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
near-workspaces->serde 1.0.190 1.0.192 1.0.192 Normal ---
num-rational->serde 1.0.190 1.0.192 1.0.192 Normal ---
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
openssl->libc 0.2.149 0.2.150 0.2.150 Normal ---
openssl-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
openssl-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
opentelemetry->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
parity-scale-codec->serde 1.0.190 1.0.192 1.0.192 Normal ---
parking_lot_core->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
pin-project-internal->syn 2.0.38 2.0.39 2.0.39 Normal ---
proc-macro2->unicode-ident 1.0.12 --- Removed Normal ---
proc-macro2->unicode-ident 1.0.12 Removed --- Normal ---
quote->proc-macro2 1.0.69 --- Removed Normal ---
quote->proc-macro2 1.0.69 Removed --- Normal ---
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
redox_users->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
reqwest->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
reqwest->serde 1.0.190 1.0.192 1.0.192 Normal ---
reqwest->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
reqwest->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
reqwest->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
ring->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
ring->libc 0.2.149 0.2.150 0.2.150 Normal cfg(any(target_os = "android", target_os = "linux"))
rustix->errno 0.3.5 0.3.6 0.3.6 Development ---
rustix->libc 0.2.149 0.2.150 0.2.150 Development ---
schemars->serde 1.0.190 1.0.192 1.0.192 Normal ---
scroll_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
security-framework->libc 0.2.149 0.2.150 0.2.150 Normal ---
security-framework-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
semver->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_repr->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_urlencoded->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_with->indexmap 1.9.3 2.1.0 --- Normal ---
serde_with->indexmap 2.1.0 --- 1.9.3 Normal ---
serde_with->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_with_macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_yaml->serde 1.0.190 1.0.192 1.0.192 Normal ---
signal-hook-registry->libc 0.2.149 0.2.150 0.2.150 Normal ---
socket2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
string_cache->serde 1.0.190 1.0.192 1.0.192 Normal ---
symbolic-debuginfo->serde 1.0.190 1.0.192 1.0.192 Normal ---
syn->proc-macro2 1.0.69 --- Removed Normal ---
syn->proc-macro2 1.0.69 Removed --- Normal ---
syn->quote 1.0.33 --- Removed Normal ---
syn->quote 1.0.33 Removed --- Normal ---
syn->unicode-ident 1.0.12 --- Removed Normal ---
syn->unicode-ident 1.0.12 Removed --- Normal ---
syn_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
system-configuration-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
tar->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
thiserror-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
time->serde 1.0.190 1.0.192 1.0.192 Normal ---
tokio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
tokio-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
toml->serde 1.0.190 1.0.192 1.0.192 Normal ---
tracing-attributes->syn 2.0.38 2.0.39 2.0.39 Normal ---
url->serde 1.0.190 1.0.192 1.0.192 Normal ---
wasm-bindgen->cfg-if 1.0.0 Removed --- Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-backend->bumpalo 3.14.0 Removed --- Normal ---
wasm-bindgen-backend->log 0.4.20 Removed --- Normal ---
wasm-bindgen-backend->once_cell 1.18.0 Removed --- Normal ---
wasm-bindgen-backend->proc-macro2 1.0.69 Removed --- Normal ---
wasm-bindgen-backend->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->syn 2.0.38 Removed 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-futures->js-sys 0.3.64 --- 0.3.65 Normal ---
wasm-bindgen-futures->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
wasm-bindgen-macro->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-macro-support->proc-macro2 1.0.69 Removed --- Normal ---
wasm-bindgen-macro-support->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 Removed 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 Removed 0.2.88 Normal ---
web-sys->js-sys 0.3.64 --- 0.3.65 Normal ---
web-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wee_alloc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(all(unix, not(target_arch = "wasm32")))
xattr->libc 0.2.149 0.2.150 0.2.150 Normal ---
zerocopy->zerocopy-derive 0.7.25 --- Removed Normal ---
zerocopy-derive->proc-macro2 1.0.69 --- Removed Normal ---
zerocopy-derive->quote 1.0.33 --- Removed Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 Removed Normal ---
zeroize_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zstd-safe->libc 0.2.149 0.2.150 0.2.150 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\dice\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
fable_library_rust->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(target_arch = "wasm32")
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
uuid->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\dice\fsharp\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
fable_library_rust->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(target_arch = "wasm32")
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
uuid->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\dice\contract\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
ahash->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
bytesize->serde 1.0.190 1.0.192 1.0.192 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
cpufeatures->libc 0.2.149 0.2.150 0.2.150 Normal aarch64-linux-android
ed25519-dalek->serde 1.0.190 1.0.192 1.0.192 Normal ---
fable_library_rust->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(target_arch = "wasm32")
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
hex->serde 1.0.190 1.0.192 1.0.192 Normal ---
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
indexmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
near-abi->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-account-id->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-crypto->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-macro->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-sdk->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-errors->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-logic->serde 1.0.190 1.0.192 1.0.192 Normal ---
num-rational->serde 1.0.190 1.0.192 1.0.192 Normal ---
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
parity-scale-codec->serde 1.0.190 1.0.192 1.0.192 Normal ---
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
schemars->serde 1.0.190 1.0.192 1.0.192 Normal ---
semver->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
thiserror-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
toml->serde 1.0.190 1.0.192 1.0.192 Normal ---
uuid->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wee_alloc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(all(unix, not(target_arch = "wasm32")))
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zeroize_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\dice\contract\tests\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
actix-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
actix_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
ahash->cfg-if 1.0.0 --- Removed Normal ---
ahash->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
ahash->getrandom 0.2.10 Removed 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
ahash->zerocopy 0.7.25 --- Removed Normal ---
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
async-stream-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
async-trait->syn 2.0.38 2.0.39 2.0.39 Normal ---
atty->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
borsh-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
bytesize->serde 1.0.190 1.0.192 1.0.192 Normal ---
bzip2->libc 0.2.149 0.2.150 0.2.150 Normal ---
bzip2-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
camino->serde 1.0.190 1.0.192 1.0.192 Normal ---
cargo-platform->serde 1.0.190 1.0.192 1.0.192 Normal ---
cargo_metadata->serde 1.0.190 1.0.192 1.0.192 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
clap_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
core-foundation->libc 0.2.149 0.2.150 0.2.150 Normal ---
cpufeatures->libc 0.2.149 0.2.150 0.2.150 Normal aarch64-linux-android
darling_core->syn 2.0.38 2.0.39 2.0.39 Normal ---
darling_macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
deranged->serde 1.0.190 1.0.192 1.0.192 Normal ---
derive_arbitrary->syn 2.0.38 2.0.39 2.0.39 Normal ---
dirs-sys-next->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
ed25519-dalek->serde 1.0.190 1.0.192 1.0.192 Normal ---
enum-map-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
errno->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "hermit")
filetime->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
fs2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->cfg-if 1.0.0 Removed --- Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->js-sys 0.3.64 Removed 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->libc 0.2.149 Removed 0.2.150 Normal cfg(unix)
getrandom->wasi 0.11.0+wasi-snapshot-preview1 Removed --- Normal cfg(target_os = "wasi")
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->wasm-bindgen 0.2.87 Removed 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
hashbrown->ahash 0.7.7 0.8.6 --- Normal ---
hashbrown->ahash 0.8.6 --- 0.7.7 Normal ---
hashbrown->allocator-api2 0.2.16 --- Removed Normal ---
hermit-abi->libc 0.2.149 0.2.150 0.2.150 Normal ---
hex->serde 1.0.190 1.0.192 1.0.192 Normal ---
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
indexmap->autocfg 1.1.0 Removed --- Build ---
indexmap->equivalent 1.0.1 --- Removed Normal ---
indexmap->hashbrown 0.12.3 0.14.2 --- Normal ---
indexmap->hashbrown 0.14.2 --- 0.12.3 Normal ---
indexmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
js-sys->wasm-bindgen 0.2.87 Removed 0.2.88 Normal ---
json-patch->serde 1.0.190 1.0.192 1.0.192 Normal ---
libredox->libc 0.2.149 0.2.150 0.2.150 Normal ---
memmap2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
mio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "wasi")
native-tls->libc 0.2.149 0.2.150 0.2.150 Normal cfg(any(target_os = "macos", target_os = "ios"))
near-abi->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-account-id->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-chain-configs->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-crypto->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-gas->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-jsonrpc-client->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-jsonrpc-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-o11y->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-primitives-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-core->syn 2.0.38 2.0.39 2.0.39 Normal ---
near-rpc-error-macro->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-rpc-error-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
near-sdk->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-token->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-errors->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-vm-logic->serde 1.0.190 1.0.192 1.0.192 Normal ---
near-workspaces->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
near-workspaces->serde 1.0.190 1.0.192 1.0.192 Normal ---
num-rational->serde 1.0.190 1.0.192 1.0.192 Normal ---
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
openssl->libc 0.2.149 0.2.150 0.2.150 Normal ---
openssl-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
openssl-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
opentelemetry->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
parity-scale-codec->serde 1.0.190 1.0.192 1.0.192 Normal ---
parking_lot_core->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
pin-project-internal->syn 2.0.38 2.0.39 2.0.39 Normal ---
proc-macro2->unicode-ident 1.0.12 --- Removed Normal ---
proc-macro2->unicode-ident 1.0.12 Removed --- Normal ---
quote->proc-macro2 1.0.69 --- Removed Normal ---
quote->proc-macro2 1.0.69 Removed --- Normal ---
rand->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
rand_core->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
redox_users->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
reqwest->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
reqwest->serde 1.0.190 1.0.192 1.0.192 Normal ---
reqwest->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
reqwest->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
reqwest->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
ring->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
ring->libc 0.2.149 0.2.150 0.2.150 Normal cfg(any(target_os = "android", target_os = "linux"))
rustix->errno 0.3.5 0.3.6 0.3.6 Development ---
rustix->libc 0.2.149 0.2.150 0.2.150 Development ---
schemars->serde 1.0.190 1.0.192 1.0.192 Normal ---
scroll_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
security-framework->libc 0.2.149 0.2.150 0.2.150 Normal ---
security-framework-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
semver->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_repr->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_urlencoded->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_with->indexmap 1.9.3 2.1.0 --- Normal ---
serde_with->indexmap 2.1.0 --- 1.9.3 Normal ---
serde_with->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_with_macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_yaml->serde 1.0.190 1.0.192 1.0.192 Normal ---
signal-hook-registry->libc 0.2.149 0.2.150 0.2.150 Normal ---
socket2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
string_cache->serde 1.0.190 1.0.192 1.0.192 Normal ---
symbolic-debuginfo->serde 1.0.190 1.0.192 1.0.192 Normal ---
syn->proc-macro2 1.0.69 --- Removed Normal ---
syn->proc-macro2 1.0.69 Removed --- Normal ---
syn->quote 1.0.33 --- Removed Normal ---
syn->quote 1.0.33 Removed --- Normal ---
syn->unicode-ident 1.0.12 --- Removed Normal ---
syn->unicode-ident 1.0.12 Removed --- Normal ---
syn_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
system-configuration-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
tar->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
thiserror-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
time->serde 1.0.190 1.0.192 1.0.192 Normal ---
tokio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
tokio-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
toml->serde 1.0.190 1.0.192 1.0.192 Normal ---
tracing-attributes->syn 2.0.38 2.0.39 2.0.39 Normal ---
url->serde 1.0.190 1.0.192 1.0.192 Normal ---
wasm-bindgen->cfg-if 1.0.0 Removed --- Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-backend->bumpalo 3.14.0 Removed --- Normal ---
wasm-bindgen-backend->log 0.4.20 Removed --- Normal ---
wasm-bindgen-backend->once_cell 1.18.0 Removed --- Normal ---
wasm-bindgen-backend->proc-macro2 1.0.69 Removed --- Normal ---
wasm-bindgen-backend->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->syn 2.0.38 Removed 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-futures->js-sys 0.3.64 --- 0.3.65 Normal ---
wasm-bindgen-futures->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
wasm-bindgen-macro->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-macro-support->proc-macro2 1.0.69 Removed --- Normal ---
wasm-bindgen-macro-support->quote 1.0.33 Removed --- Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 Removed 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 Removed 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 Removed 0.2.88 Normal ---
web-sys->js-sys 0.3.64 --- 0.3.65 Normal ---
web-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wee_alloc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(all(unix, not(target_arch = "wasm32")))
xattr->libc 0.2.149 0.2.150 0.2.150 Normal ---
zerocopy->zerocopy-derive 0.7.25 --- Removed Normal ---
zerocopy-derive->proc-macro2 1.0.69 --- Removed Normal ---
zerocopy-derive->quote 1.0.33 --- Removed Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 Removed Normal ---
zeroize_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
zstd-safe->libc 0.2.149 0.2.150 0.2.150 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\dice\ui\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
ahash->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi"))
android_system_properties->libc 0.2.149 0.2.150 0.2.150 Normal ---
async-recursion->syn 2.0.38 2.0.39 2.0.39 Normal ---
async-trait->syn 2.0.38 2.0.39 2.0.39 Normal ---
attribute-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
attribute-derive-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
borsh-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
camino->serde 1.0.190 1.0.192 1.0.192 Normal ---
cc->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
chrono->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
chrono->serde 1.0.190 1.0.192 1.0.192 Normal ---
chrono->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))
ciborium->serde 1.0.190 1.0.192 1.0.192 Normal ---
config->serde 1.0.190 1.0.192 1.0.192 Normal ---
console_error_panic_hook->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
console_log->web-sys 0.3.64 --- 0.3.65 Normal ---
core-foundation->libc 0.2.149 0.2.150 0.2.150 Normal ---
derive-where->syn 2.0.38 2.0.39 2.0.39 Normal ---
errno->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "hermit")
fable_library_rust->getrandom 0.2.10 0.2.11 0.2.11 Normal cfg(target_arch = "wasm32")
futures-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
getrandom->js-sys 0.3.64 --- 0.3.65 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
getrandom->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
getrandom->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown"))
gloo-net->js-sys 0.3.64 --- 0.3.65 Normal ---
gloo-net->serde 1.0.190 1.0.192 1.0.192 Normal ---
gloo-net->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
gloo-net->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
gloo-net->web-sys 0.3.64 --- 0.3.65 Normal ---
gloo-utils->js-sys 0.3.64 --- 0.3.65 Normal ---
gloo-utils->serde 1.0.190 1.0.192 1.0.192 Normal ---
gloo-utils->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
gloo-utils->web-sys 0.3.64 --- 0.3.65 Normal ---
iana-time-zone->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
iana-time-zone->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
indexmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
jobserver->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
js-sys 0.3.64 --- 0.3.65 Normal ---
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos->web-sys 0.3.64 --- 0.3.65 Normal ---
leptos_config->serde 1.0.190 1.0.192 1.0.192 Normal ---
leptos_dom->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
leptos_dom->js-sys 0.3.64 --- 0.3.65 Normal ---
leptos_dom->serde 1.0.190 1.0.192 1.0.192 Normal ---
leptos_dom->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos_dom->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
leptos_dom->web-sys 0.3.64 --- 0.3.65 Normal ---
leptos_hot_reload->serde 1.0.190 1.0.192 1.0.192 Normal ---
leptos_hot_reload->syn 2.0.38 2.0.39 2.0.39 Normal ---
leptos_macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
leptos_meta->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos_meta->web-sys 0.3.64 --- 0.3.65 Normal ---
leptos_reactive->js-sys 0.3.64 --- 0.3.65 Normal ---
leptos_reactive->serde 1.0.190 1.0.192 1.0.192 Normal ---
leptos_reactive->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos_reactive->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
leptos_reactive->web-sys 0.3.64 --- 0.3.65 Normal ---
leptos_router->js-sys 0.3.64 --- 0.3.65 Normal ---
leptos_router->serde 1.0.190 1.0.192 1.0.192 Normal ---
leptos_router->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
leptos_router->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
leptos_router->web-sys 0.3.64 --- 0.3.65 Normal ---
leptos_server->serde 1.0.190 1.0.192 1.0.192 Normal ---
linear-map->serde 1.0.190 1.0.192 1.0.192 Normal ---
manyhow->syn 2.0.38 2.0.39 2.0.39 Normal ---
mio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(target_os = "wasi")
native-tls->libc 0.2.149 0.2.150 0.2.150 Normal cfg(any(target_os = "macos", target_os = "ios"))
num_cpus->libc 0.2.149 0.2.150 0.2.150 Normal cfg(not(windows))
openssl->libc 0.2.149 0.2.150 0.2.150 Normal ---
openssl-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
openssl-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
parking_lot_core->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
pin-project-internal->syn 2.0.38 2.0.39 2.0.39 Normal ---
prettyplease->syn 2.0.38 2.0.39 2.0.39 Normal ---
proc-macro2-diagnostics->syn 2.0.38 2.0.39 2.0.39 Normal ---
quote-use->syn 2.0.38 2.0.39 2.0.39 Normal ---
quote-use-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
reqwest->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
reqwest->serde 1.0.190 1.0.192 1.0.192 Normal ---
reqwest->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
reqwest->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
reqwest->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
reqwest-wasm->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
reqwest-wasm->serde 1.0.190 1.0.192 1.0.192 Normal ---
reqwest-wasm->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(target_arch = "wasm32")
reqwest-wasm->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal cfg(target_arch = "wasm32")
reqwest-wasm->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
rexie->js-sys 0.3.64 --- 0.3.65 Normal ---
rexie->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
rexie->wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
rexie->web-sys 0.3.64 --- 0.3.65 Normal ---
rstml->syn 2.0.38 2.0.39 2.0.39 Normal ---
rustix->errno 0.3.5 0.3.6 0.3.6 Development ---
rustix->libc 0.2.149 0.2.150 0.2.150 Development ---
security-framework->libc 0.2.149 0.2.150 0.2.150 Normal ---
security-framework-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
serde 1.0.190 1.0.192 1.0.192 Normal ---
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde-wasm-bindgen->js-sys 0.3.64 --- 0.3.65 Normal ---
serde-wasm-bindgen->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde-wasm-bindgen->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_qs->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_test->serde 1.0.190 1.0.192 1.0.192 Normal ---
serde_urlencoded->serde 1.0.190 1.0.192 1.0.192 Normal ---
server_fn->js-sys 0.3.64 --- 0.3.65 Normal cfg(target_arch = "wasm32")
server_fn->serde 1.0.190 1.0.192 1.0.192 Normal ---
server_fn->syn 2.0.38 2.0.39 2.0.39 Normal ---
server_fn_macro->serde 1.0.190 1.0.192 1.0.192 Normal ---
server_fn_macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
server_fn_macro_default->syn 2.0.38 2.0.39 2.0.39 Normal ---
signal-hook-registry->libc 0.2.149 0.2.150 0.2.150 Normal ---
slotmap->serde 1.0.190 1.0.192 1.0.192 Normal ---
socket2->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
syn_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
system-configuration-sys->libc 0.2.149 0.2.150 0.2.150 Normal ---
thiserror-impl->syn 2.0.38 2.0.39 2.0.39 Normal ---
tokio->libc 0.2.149 0.2.150 0.2.150 Normal cfg(unix)
tokio-macros->syn 2.0.38 2.0.39 2.0.39 Normal ---
toml->serde 1.0.190 1.0.192 1.0.192 Normal ---
tracing-attributes->syn 2.0.38 2.0.39 2.0.39 Normal ---
typed-builder-macro->syn 2.0.38 2.0.39 2.0.39 Normal ---
url->serde 1.0.190 1.0.192 1.0.192 Normal ---
uuid->getrandom 0.2.10 0.2.11 0.2.11 Normal ---
wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures 0.4.37 --- 0.4.38 Normal ---
wasm-bindgen-futures->js-sys 0.3.64 --- 0.3.65 Normal ---
wasm-bindgen-futures->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-futures->web-sys 0.3.64 --- 0.3.65 Normal cfg(target_feature = "atomics")
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys 0.3.64 --- 0.3.65 Normal ---
web-sys->js-sys 0.3.64 --- 0.3.65 Normal ---
web-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
zerocopy-derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
CheckToml / toml: C:\home\git\polyglot\apps\plot\Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
js-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
plotters->wasm-bindgen 0.2.87 --- 0.2.88 Normal cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
plotters->web-sys 0.3.64 --- 0.3.65 Normal cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
serde->serde_derive 1.0.190 1.0.192 1.0.192 Normal ---
serde_derive->syn 2.0.38 2.0.39 2.0.39 Normal ---
serde_json->serde 1.0.190 1.0.192 1.0.192 Normal ---
wasm-bindgen->wasm-bindgen-macro 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-backend->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-backend->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro->wasm-bindgen-macro-support 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->syn 2.0.38 2.0.39 2.0.39 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-backend 0.2.87 --- 0.2.88 Normal ---
wasm-bindgen-macro-support->wasm-bindgen-shared 0.2.87 --- 0.2.88 Normal ---
web-sys->js-sys 0.3.64 --- 0.3.65 Normal ---
web-sys->wasm-bindgen 0.2.87 --- 0.2.88 Normal ---
C:\home\git\polyglot\apps\spiral\temp\extension
> polyglot@ outdated-pre C:\home\git\polyglot\apps\spiral\temp\extension
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\apps\spiral\temp\extension\package.json
@playwright/test 1.38.0-beta-1691778350000 → 1.40.0-alpha-oct-31-2023
@types/chrome ~0.0.248 → ~0.0.250
Run ncu --target greatest -u to upgrade package.json
C:\home\git\polyglot\apps\ipfs
> ipfs@ outdated-pre C:\home\git\polyglot\apps\ipfs
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\apps\ipfs\package.json
@types/node ~20.8 → ~20.9
Run ncu --target greatest -u to upgrade package.json
C:\home\git\polyglot
> polyglot@ outdated-pre C:\home\git\polyglot
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\package.json
@types/node ~20.8 → ~20.9
Run ncu --target greatest -u to upgrade package.json